我做了JSON.parse
并以javascript变量“temp”获得输出,格式如下
{"2222":{"MId":106607,
"Title":"VIDEOCON Semi Automatic Marine 6.8kg",
"Name":"washma01",
}}
我试过
alert(temp[0][0]);
alert(temp.2222[0].MId);
但没有得到输出。
如何在javascript中访问此数据?
答案 0 :(得分:18)
alert(temp["2222"].MId);
您不能使用数字索引,因为没有任何实际数组。如果键的第一个字符是非数字,则可以使用点语法。 E.g:
var temp = JSON.parse('{"n2222":{"MId":106607, "Title":"VIDEOCON Semi Automatic Marine 6.8kg", "Name":"washma01", }}');
alert(temp.n2222.MId);
答案 1 :(得分:3)
试试这个:
temp["2222"].MId
通常temp.bar
和temp["bar"]
是等效的JavaScript语句,但在这种情况下,您的某个属性名称以数字开头。发生这种情况时,您将被迫使用索引(aka括号)表示法。
答案 2 :(得分:0)
您需要访问变量,如temp ['2222'] ['MId'],这将为您提供MId的值。尽管我已经使用[]获取值的方法,但下面的答案也可以。
您可以在firebug中运行以下测试。
var ss = {"2222":{"MId":106607, "Title":"VIDEOCON Semi Automatic Marine 6.8kg", "Name":"washma01"}};
console.log(ss['2222']['MId']);
答案 3 :(得分:0)
当你有一个好的json格式化对象,但你不知道密钥(这里看起来像一个id)你可以像这样访问:
var keys = Object.keys(json_obj);
for (var i = 0; i < keys.length; i++) {
console.log(keys[i]);
console.log(json_obj[keys[i]].MId);
};