JSON 对象和 Javascript 对象

2024-04-22

我正在创建一个网络应用程序的前端。我收到 JSON 格式的所有响应,解析它并将其作为 html 格式。我查看了一些 javascript MVC 框架(即backbone.js、ember.js 等),发现它们对于我的简单应用程序来说太过分了。但我发现真正令人着迷的是他们都有模特。我发现我可以创建 javascript 对象,它们与模型类似,并且由于我没有如此复杂的需求,我的自定义 javascript 对象应该很容易制作。

function displayCar() {
  var result = "A Beautiful " + this.year + " " + this.make
    + " " + this.model;
  pretty_print(result);
}

function Car(make, model, year, owner) {
  this.make = make;
  this.model = model;
  this.year = year;
  this.owner = owner;
  this.displayCar = displayCar;
}

我从服务器收到 JSON 响应的汽车。那么理想的方法是什么:在循环 JSON 数组时创建对象,还是应该使用解析并直接从那里显示 html?

现在我的问题是我应该将 JSON 解析为 javascript 对象吗?我也不确定使用这种对象是否会有很大帮助? 我还想知道是否有一种方法可以直接从 JSON 创建自定义预定义对象,因为我觉得它可能会很有用,就像我想要汽车对象一样


大多数现代 JavaScript 框架(jquery、Angular、Knockout 等)都会为您将字符串表示形式解析为对象,这不是您需要担心的步骤。

你不需要预先定义任何东西,javascript是一种松散类型的语言——不需要类定义。本质上,JSON 对象是一个包含属性名称和值的大字典,您的 Web 框架负责将服务器端对象序列化为与 JSON 兼容的表示形式。

关于何时需要显示返回数据,我认为这取决于您正在构建的应用程序。如果您需要无限期地访问汽车,那么迭代它们并根据需要添加方法可能是有意义的,但是,如果您只想显示数据,请在收到数据时执行此操作。

这就是说,只需从服务器返回对象,然后直接访问对象和属性即可。

这是控制器类中的一个方法,用于响应 URL(伪代码)

public class Car { 
 string make;
 string model;
 string year;
 string owner;
}   

[Get("http://server/cars")]
public Car[] getCars()
{
  // the repository returns an array of Car objects, which in turn are returned to the client
  return myCarRepository.List(0, 25); // always page lists
}

然后在客户端

jQuery
 .get("/server/cars")
 .success(function(carArray) {
    // carArray is an array of car objects that has been deserialized by jquery
    // you can access the properties using dot syntax
   console.log("server returned " + carArray.length + " cars");
   for (var i = 0; i < carArray.length; i++) {
     console.log("car[" + i + "].make = " + carArray[i].make);
     carArray[i].print = displayCar; // if you want to hold on to the array, and display info later, each object in the array has a print() method
   }
  });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON 对象和 Javascript 对象 的相关文章

随机推荐