2012-02-28 3 views
1
{ 
"info": { 
    "limit": "0", 
    "xdata": { 
     "hospital": { 
      "name": "qwewe", 
      "street": "cxcxc" 
     }, 
     "factory": { 
      "name": "wrwr", 
      "street": "xzcc" 
     }, 
     "industry": { 
      "name": "lll", 
      "street": "sdfdsfdf" 
     } 
    } 
    } 

xdataの内容を印刷するにはどうすればよいですか?私は病院、工場のデータが必要です&業界 私は$.each jQueryループを使用していますが、病院に詳細を取得することはできません。json-jqueryでループする

+0

これは(jsonlintにchkd)有効なJSON ..ですちょうどそれの一部をコピーした。.. – user1184100

+0

your_data.info .xdata.hospital.name; – Vytautas

+0

最後にaがありません。残念ながら私は自分で質問を編集することはできません。 – Basil

答えて

3

は次のように次の

xdata = your_data.info.xdata; 

for (xd in xdata) { 
    console.log('Name: ' + xdata[xd].name); 
    console.log('Street: ' + xdata[xd].street); 
} 
6
var data = { 
"info": { 
    "limit": "0", 
    "xdata": { 
     "hospital": { 
      "name": "qwewe", 
      "street": "cxcxc" 
     }, 
     "factory": { 
      "name": "wrwr", 
      "street": "xzcc" 
     }, 
     "industry": { 
      "name": "lll", 
      "street": "sdfdsfdf" 
     } 
    } 
}}; 

$.each(data.info.xdata, function(key, value) { 
    var type = key; // e.g. hospital/factory/industry 
    var name = value.name; 
    var street = value.street; 

    // do something with the values 
    console.log(type, name, street); 
}); 

を試してみてください?正直言ってJSONは本当にすごくフォーマットされていません。 XDATAは、オブジェクトの配列を含んでいるほうが良いでしょうが、私はより良いでしょう。

詳細については、こちらをご覧ください:http://jsfiddle.net/fZBYG/1/コンソールを開いてください。

1
$.each(info.xdata, function(key, value) { 
    // key is equal to hospital, factory, industry 
    // valus is equal to { "name": "qwewe", "street": "cxcxc" }, ... 
    // this in the scope is the same as arguments[1] - value; 
    // this === value 
}); 
1
var json = $.parseJSON(j); 
//console.log(json.info.xdata); 
$.each(json.info.xdata,function(k,v){ 
console.log(v.name+" -- "+ v.street); 
}); 

DEMO