从JSON字符串打印信息

时间:2014-07-25 16:49:30

标签: javascript json

我有以下JSON字符串:

var txt= 
{
    "people": 
    [{
        "person": 
        {
            "firstname":"Jane",
            "lastname":"Doe"
        }
    },
     {
         "person":
         {
             "firstname":"John",
             "lastname":"Smith"
         }
     }
    ]
};

我希望程序提醒列表中有两个人,但是当我执行我的计数功能时,它只会说1(到'人'然后不会深入到列表中)。

这是小提琴: http://jsfiddle.net/LipeeVora/rsBYb/3/

4 个答案:

答案 0 :(得分:3)

您不需要编写计数循环。 txt.people.length将为您提供计数,因为txt.people是一个数组对象。

请参阅我修改过的小提琴,例如:http://jsfiddle.net/rsBYb/5/


你的循环计算txt中的元素 - 其中只有一个(people数组)。如果您在循环中使用txt.people,它会正常工作。您真的想要计算txt.people中的元素,而不是txt

示例:http://jsfiddle.net/rsBYb/8/

答案 1 :(得分:1)

txt.people.length 

会给你正确答案

http://jsfiddle.net/rsBYb/6/

答案 2 :(得分:1)

这是因为你算人而不是人。 将你的循环改为:

for ( property in txt.person )
{
    count++;
}
alert("count = " + count);

答案 3 :(得分:1)

这应该有效:

txt.people.length 

你可能需要做一个JSON.parse,这取决于你从哪里拉出你的JSON字符串(如果你在小提琴之外做任何事情)