0

我从后端得到响应,它返回 json 数据。

但我需要将对象分别传递给“ handlebars.js”-模板。

在这种情况下,我如何迭代 json 响应并过滤我想要的数据?

我的样本数据:

{
    "username":"xxxx",
    "name":"yyyyy",
    "allLocales":[
        {           "name":"Afrikaans"
        },
        {           "name":"Albanian"
        }           "name":"Arabic"

    ],
    "userLocales":[
        {           "name":"English (US)"
        },
        {           "name":"Swedish"
        }

],
    "message":"New massage will be here"
}

我怎样才能得到var username = {"username":"xxxx"}, 和

var nantions = "allLocales":[
            {           "name":"Afrikaans"
            },
            {           "name":"Albanian"
            }           "name":"Arabic"

        ]

像这样..?

4

4 回答 4

1

您可以使用一种方法来轻松解析数据。

hasOwnProperty

小提琴:JSFiddle 示例

于 2013-06-18T11:24:59.340 回答
0

首先请将样本数据分配给一个变量

var json_test = {
"username":"xxxx",
"name":"yyyyy",
"allLocales":[
    {           "name":"Afrikaans"
    },
    {           "name":"Albanian"
    },
    {   "name":"Arabic"
    }

],
"userLocales":[
    {           "name":"English (US)"
    },
    {           "name":"Swedish"
    }

], "message":"这里会有新的按摩" };

在此之后,如果你想访问用户名,你应该这样写

var username = json_test['username'];

var nantions = json_test['allLocales'];
于 2013-06-18T09:57:14.210 回答
0

只需引用 JSON 创建的对象的相应部分。

var nantions = jsonObj[ 'allLocales' ];

如果您需要事先解析 JSON,请使用JSON.parse()

var jsonObj = JSON.parse( json );

编辑

如果你需要username真的作为一个对象,我认为你只剩下这个:

var username = { 'username': jsonObj['username'] };
于 2013-06-18T09:50:12.120 回答
0

您可以使用简单的点符号访问对象的属性:

objectName.propertyName

例如,在您的情况下

var username = obj.username;   // xxxx
var nantions = obj.allLocales;   // array of Object

更多细节在这里:使用对象

小提琴演示

于 2013-06-18T09:54:23.527 回答