如何读取json数组内的值
我有一个像json
var obj={ "address":{ "addlin1":"", "addlin2":"" }, "name":"sam", "score":[{"maths":"ten", "science":"two", "pass":false }] }
现在,当试图修改json iam的时候,尝试一个数组variables并且传递上面的json到那个样子
var data=JSON.parse(obj); var json={}; json['name']=data['name']; json['address']={}; json['address']['addressline1']=data['address']['addlin1']; json['address']['addressline2']=data['address']['addlin2']; json['marks']={}; json['maths']=data['score']['maths'];
对于姓名和地址,我能够按照我期望的形成json。但是对于标记我无法使用。可能在obj json中得分值在[]中
所以,当我安慰JSON时就是这样
"name":"sam", "address":{ "addresslin1":"", "addresslin2":"" }, "score":{} }
那么我怎样才能读取[]数组中的值。
有人可以帮助我谢谢
json['maths']=data['score'][0]['maths'];
如果您不确定数据['分数']是否有任何元素,您可以在阅读math键之前检查:
if (data['score'].length) { json['maths']=data['score'][0]['maths']; }
data['score']
是一个数组,所以你不能像这样读取它
json['maths']=data['score']['maths'];
你必须这样读:
json['maths'] = data['score'][0].maths;
而且, obj
不是一个JSON,而是一个JavaScript对象。 你可以直接使用它。
json['maths'] = obj['score'][0].maths;
JSON是一个string,就像这样:
JSON.stringify(obj) var json = "{"address":{"addlin1":"","addlin2":""},"name":"sam","score":[{"maths":"ten","science":"two","pass":false}]}";
创build另一个json2来包含乐谱数据,然后分配给json。
例如 :
var json={}; json2 = {} json2[0] = 1; json2[1] = 2; json[0] = json2;