无法使用javascript访问嵌套在JSON对象中的JSON数组中的数据

时间:2017-01-22 05:27:24

标签: javascript arrays json

我有以下JSON信息。它是嵌套在对象中的数组。我试图访问该对象的组件,但我似乎无法弄清楚如何使用该对象。

例如,当我尝试获取数组中的事件数量时(应该有2个), jsonObject.length返回字符数。其中jsonObject[0].length返回一个,在我看来应该是2(2个事件)。

{
"results": [
    {
        "eventName": "Rey",
        "name": "Tar",
        "dateOfShow": "2017-01-27T22:00:00",
        "userGroupName": "Bit",
        "eventHallName": "Grnn",
        "imageSource": "test2.jpg"
    },
    {
        "eventName": "Gor",
        "name": "Skum",
        "dateOfShow": "2017-01-30T20:00:00",
        "userGroupName": "Gaf",
        "eventHallName": "Gai",
        "imageSource": "test1.jpg"
    }
]
}

我之前通过解析它们来处理JSON数组,但是当我解析它时,它会为任何值返回undefined。

如何使用javascript获取此JSON对象中显示的事件数?

3 个答案:

答案 0 :(得分:2)

使用JSON.parse(jsonObject);,然后尝试访问。 json.results它将为您提供长度为2的数组。

var jsonString = '{"results":[{"eventName":"Rey","name":"Tar","dateOfShow":"2017-01-27T22:00:00","userGroupName":"Bit","eventHallName":"Grnn","imageSource":"test2.jpg"},{"eventName":"Gor","name":"Skum","dateOfShow":"2017-01-30T20:00:00","userGroupName":"Gaf","eventHallName":"Gai","imageSource":"test1.jpg"}]}';
var jsonObject = JSON.parse (jsonString);
jsonObject.results.length; // length of results array
jsonObject.results[0]; //first object of array

答案 1 :(得分:2)

试试这样。

JSON是string.Directly javascript' length属性不起作用。您已使用JSON.parse()将其转换为对象。



json ='{"results":[{"eventName":"Rey","name":"Tar","dateOfShow":"2017-01-27T22:00:00","userGroupName":"Bit","eventHallName":"Grnn","imageSource":"test2.jpg"},{"eventName":"Gor","name":"Skum","dateOfShow":"2017-01-30T20:00:00","userGroupName":"Gaf","eventHallName":"Gai","imageSource":"test1.jpg"}]}';
res = JSON.parse(json)
alert(res.results.length);




答案 2 :(得分:0)

我想,这会对你有所帮助

md5sum = String.format("%032x", new BigInteger(1, md.digest()));