老实说,我无法理解您的问题。JSON已经结构化了,为什么需要更改结构?
在您的情况下,我将按以下方式访问它:
data.address.streetName;
如果碰巧希望 遍历 数据,则需要:
function traverse_it(obj){ for(var prop in obj){ if(typeof obj[prop]=='object'){ // object traverse_it(obj[prop[i]]); }else{ // something else alert('The value of '+prop+' is '+obj[prop]+'.'); } }}traverse_it(data);更新资料
在阅读下面的内容之后,该用户的需求似乎更加明显。给定属性名称作为字符串,他/她想访问该对象。
function findProp(obj, prop, defval){ if (typeof defval == 'undefined') defval = null; prop = prop.split('.'); for (var i = 0; i < prop.length; i++) { if(typeof obj[prop[i]] == 'undefined') return defval; obj = obj[prop[i]]; } return obj;}var data = {"id":1,"name":"abc","address":{"streetName":"cde","streetId":2}};var props = 'address.streetName';alert('The value of ' + props + ' is ' + findProp(data, props));


