0

如何从 handlebarsjs 访问这个 json 对象

    [ {
    "id" : 9,
    "name" : "Name1",
    "address" : "address1",
    "city" : "city1",
    "state" : "KS",
    "zip" : "11111",
    "country" : "USA",
    "fax" : "111111",
    "phone" : "1111111",
    "website" : "",
    "account" : "11111",
    "contacts" : []
}, {
    "id" : 12,
    "name" : "Name2",
    "address" : "address2",
    "city" : "city2",
    "state" : "NJ",
    "zip" : "11111",
    "country" : "USA",
    "fax" : "",
    "phone" : "1111",
    "website" : "",
    "account" : "11111",
    "contacts" : [ {
        "firstName" : "name",
        "lastName" : "lastname",
        "title" : "rep",
        "phone" : "3333",
        "email" : "33333"
    } ]
} ]

我曾尝试 {{name}} 访问姓名,但没有奏效,那么我如何访问姓名属性以及联系人下的嵌套 firstName 属性?

谢谢

4

3 回答 3

0

你很幸运:你的问题在 Handlebars 文档页面上解释得很清楚:

http://handlebarsjs.com/

只需向下滚动到“Handlebars Paths”部分,您就会看到它准确地讨论了您正在寻找的内容(“Handlebars 还支持嵌套路径,可以查找嵌套在当前上下文下方的属性......” )

于 2012-07-20T23:48:24.207 回答
0

为您的 JSON 对象分配一个 javascript 变量名称。

   var jsonstring = [ {
        "id" : 9,
        "name" : "Name1",
        "address" : "address1",
        "city" : "city1",
        "state" : "KS",
        "zip" : "11111",
        "country" : "USA",
        "fax" : "111111",
        "phone" : "1111111",
        "website" : "",
        "account" : "11111",
        "contacts" : []
    }]

然后你可以做jsongstring[0].name

您可以使用 for 循环遍历 JSON 并打印出您需要的信息

for ( var x = 0; x < jsonString.length; x++){
alert(jsonString[x].name);
alert(jsonString[x].contacts.firstName);
}

希望这可以帮助

于 2012-07-20T20:43:59.690 回答
0

您需要先对数组进行索引才能获取名称。就像是:

{{listObj[0].name}}

{{listObj[0].contacts.firstName}}
于 2012-07-20T20:32:10.417 回答