JSON嵌套结构上的主干:使用单个模型操作整个结构
我有以下JSON结构:JSON嵌套结构上的主干:使用单个模型操作整个结构,json,backbone.js,Json,Backbone.js,我有以下JSON结构: { "Results": { "Package": [{ "@ID": "a1a2a3a4", "Name": "Package Name", "Category_ID": { "@Product_Line_ID": "11", "#text": "11" }, "Effective_Start_Date": "2013-08-09",
{
"Results": {
"Package": [{
"@ID": "a1a2a3a4",
"Name": "Package Name",
"Category_ID": {
"@Product_Line_ID": "11",
"#text": "11"
},
"Effective_Start_Date": "2013-08-09",
"Available_Start_Date": "2013-08-09",
"Product_Name": "Web National Promotion",
"Product_To_Product": [{
"@ID": "b1b2b3b4",
"Association_Start_Date": "2013-08-09",
"Max_Occurs": "1",
"Min_Occurs": "1",
"Product": [{
"@ID": "a5a6a7a8",
"Name": "Product Name 1",
"Effective_Start_Date": "2013-08-05",
"Available_Start_Date": "2013-08-05"
},{
"@ID": "a5a6a7a8",
"Name": "Product Name 2",
"Effective_Start_Date": "2013-08-05",
"Available_Start_Date": "2013-08-05"
etc............
我不会创建模型、关系、集合等的复杂结构(此JSON具有嵌套元素的复杂结构)
包装
-产品对产品
--产品
--生产等。
-向车辆收费
--冲锋
--冲锋
等等
我想知道是否有办法创建Backbonde的单个实例,例如“Package”节点,并从该实例访问其他子节点和信息
请告诉我您管理这个复杂结构的可能解决方案,以及从模型“包”访问内部子对象的可能wasy(代码)
多谢各位
Charls创建具有任何嵌套结构的主干模型非常简单,如下所示:
var Package = Backbone.Model.extend();
var package = new Package({
"@ID": "a1a2a3a4",
"Name": "Package Name",
"Category_ID": {
"@Product_Line_ID": "11",
"#text": "11"
},
"Effective_Start_Date": "2013-08-09",
"Available_Start_Date": "2013-08-09",
"Product_Name": "Web National Promotion",
"Product_To_Product": [] // might have nested objects
});
package.get("Name"); // Package Name
package.get("Category_ID").get("#text"); // TypeError: no get method found
但是,您可以从中获得的唯一优势是在直接属性(@ID
,Name
,Category\u ID
等)上使用主干。模型API和事件,而不是@Product\u Line\u ID
,#text
)因此,访问模型的内部对象将类似于访问javascript对象的方式
如果您的模型确实有一个有意义的结构,并且定义了一些关系(比如包和产品之间的一对多关系),那么我建议您查看一些主干扩展,它们将真正帮助您。其中一个扩展是。感谢Niranjan的回复。我必须调用api服务(REST)这将返回一个JSON结构。是否可以创建一个主干模型,从该url加载和获取数据,并管理子节点?它可以像javascript对象一样管理?是的,完全可以使用响应JSON创建单个模型。要管理子节点(内部嵌套属性,例如
#text
)您必须通过以下方式访问它们:package.get(“Category_ID”)[“#text”]
。