我想获取保存JSON数组的第一个子节点的值。
这是数组:
var sms = {
'1' : {
'address' : '+123',
'body' : 'SMS1'
},
'2' : {
'address' : '+123',
'body' : 'SMS2'
},
'3' : {
'address' : '+123',
'body' : 'SMS3'
},
'4' : {
'address' : '+123',
'body' : 'SMS4'
}
};
原因是我想循环使用第一个孩子搜索字符串 如上所述的价值。示例短信。[0] = 1;
答案 0 :(得分:1)
您可以使用in
表示法循环对象。使用hasOwnProperty
以避免在对象中获取引用
for (ii in sms) {
if (sms.hasOwnProperty(ii)) {
console.log(ii, sms[ii], sms[ii]['address'], sms[ii]['body']);
}
}
答案 1 :(得分:0)
如果您想访问第一个孩子的值,可以使用
sms['1']
哪个会返回一个对象。如果要访问该对象内的键的值,可以使用sms['1']['address']
或sms['1']['body']
。
第一个[]
访问第一层JSON的子级,第二个[<key_name>]
访问第二层JSON的值,包含键和值。
答案 2 :(得分:0)
我不知道是否按照您的说明操作,但尝试使用此操作来访问此JSON的每个元素。
for(i in sms){
console.log(sms[i]);
}
答案 3 :(得分:0)
您可以使用JSON api来解析JSON输入并获取相应的子项
JSONObject obj = new JSONObject(stringData);
JSONArray resultArr = obj.getJSONArray("sms");
JSONArray headrArr = null;
JSONObject jo = resultArr.optJSONObject(0);
if(jo != null){
headrArr = jo.names();
}
System.out.println(headrArr.get(0));