如何读取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;