在骨干中解析json

时间:2014-02-12 09:46:20

标签: json parsing backbone.js

prodCollect.fetch({
                    success: function(collection){
                    console.log(prodCollect.models.length); 



                    var a =prodCollect.models[1];
                    console.log(a.attributes);
                    var y=_(a.attributes).toArray();
                    console.log(y[0]);



                     }
                });

在变量'a'中,我正在获取模型并执行控制台(a.attributes),我得到了这个:

Object {[{"product_id":"2","product_name":"new product","short_description":"used for training of managers","full_description":"used for training of managers","price":"20000.00","acct_manager":"rahul raja","roles":"Manager,Manager","tags":"abc,def","skills":"abc,abc","clients":"accenture,accenture,Wipro,Google"}]: Object}

现在我无法访问'product_name'和'price'等属性。我尝试将a.attributes转换为数组并访问y [0],但未定义。 'a.attributes'是一个对象。所以我无法访问这些属性。

我是从服务器

发送的
[
   "[{\"program_name\":\"training\",\"products\":\"new product,fdgf\",\"roles\":\"Manager,CEO,random\",\"tags\":\"abc,def\",\"skills\":\"abc,def\",\"clients\":\"accenture,wipro\"},{\"program_name\":\"New progs\",\"products\":\"fdgf,ILead\",\"roles\":\"CEO,Manager,random\",\"tags\":\"abc,def\",\"skills\":\"abc,def\",\"clients\":\"\"}]",
   "[{\"product_id\":\"2\",\"product_name\":\"new product\",\"short_description\":\"used for training of managers\",\"full_description\":\"used for training of managers\",\"price\":\"20000.00\",\"acct_manager\":\"rahul raja\",\"roles\":\"Manager,Manager\",\"tags\":\"abc,def\",\"skills\":\"abc,abc\",\"clients\":\"accenture,accenture,Wipro,Google\"}]"


]

所以变量'a'包含第二个数组

1 个答案:

答案 0 :(得分:0)

我认为问题来自服务器,你的日志应该是:

{
    "product_id": "2",
    "product_name": "new product",
    "short_description": "used for training of managers",
    "full_description": "used for training of managers",
    "price": "20000.00",
    "acct_manager": "rahul raja",
    "roles": "Manager,Manager",
    "tags": "abc,def",
    "skills": "abc,abc",
    "clients": "accenture,accenture,Wipro,Google"
}

Here is an example说明了我怀疑你的服务器在做什么。


因为我怀疑,你的问题来自服务器。您的服务器响应应该是这样的:

[
    {
        "product_id": "2",
        "product_name": "new product",
        ...
    },
    {
        "product_id": "2",
        "product_name": "new product",
        ...
    },
    ...
]