我相对较新的javascript和JSON的新手,并且完成了更改内部网站的工作,因此它符合我们新的公司需求。 我试图访问一个带有数组的JSON对象。除了数组之外,这实际上适用于大多数对象。每当我尝试访问数组中的元素时,我都会得到未定义或NaN。
当我这样做时
alert(JSON.stringify(object.data.average[0]));我得到以下输出
[{"test_count2":"360","succeeded":"185"}]
所以我知道我想要访问的对象在那里,但是当我这样做时
alert(JSON.stringify(object.data.average[0].succeeded))或
alert(JSON.stringify(object.data.average[0]['succeeded']))
我总是得到
undefined
我在这里做错了吗? 我很伤心,我是一个新人,所以请耐心等待我;)
提前感谢!
答案 0 :(得分:1)
尝试使用JSON.stringify(object.data.average[0][0].succeeded)
。
似乎object.data.average[0]
返回一个包含单个元素的数组。
此外,您可以使用console.log(object.data)
,而不是alert
。在现代Web浏览器中更容易在控制台中查看对象的树表示,而不是像过去那样警告字符串值。
答案 1 :(得分:0)
因为它是另一个阵列,你必须这样做
object.data.average[0][0]['succeeded'];
答案 2 :(得分:0)
您似乎忘记了阵列中有另一个对象。尝试,
alert(JSON.stringify(object.data.average[0][0].succeeded))
答案 3 :(得分:0)
假设您要从“stringified json”访问成功的值,您需要转换字符串'[{“test_count2”:“360”,“succeeded”:“185”}]'现在是返回json对象的普通字符串。
步骤是: var str ='[{“test_count2”:“360”,“成功”:“185”}]'; var obj = JSON.parse(str); //此函数将JSON.stringify对json的作用反转 警报(obj.succeeded); //输出:185
希望我很清楚:)