2014-04-25 97 views
2

我有一個xmlhttp.responseText說:如何將responseText的轉換成JSON

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "45", 
       "short_name" : "45", 
       "types" : [ "street_number" ] 
      } 
     ...lines of more json code 
     } 
...lines of more json code 
} 

下面是使用JSON代碼的所有行的鏈接:json geomaps

那麼,如何將該響應用作json?像我把它放在這樣一個變量:

var json=xmlhttp.responseText 

然後顯示該變量JSON作爲我要像:

json.results.address_components.long_name 

我thougt這將是容易的,但我不知道如何解決那。

我想要做的是把json.results.address_comp ......到值的形式是什麼:

<fieldset> 
    <legend>Serveis de geocodificació</legend> 

    Latitud:<br><input type="text" id="lat" value="42.3600077"/><br> 
    Longitud:<br><input type="text" id="lng" value="1.4579696"/><br> 

    <input type="button" value="Veure dades" onclick="primerSelect(document.getElementById('lat').value, document.getElementById('lng').value)"/> 
    <input type="button" value="Veure coordenades"/><br> 

    Carrer:<br><input type="text" id="car"/><br> 
    Ciutat:<br><input type="text" id="ciu"/><br> 
    Pais:<br><input type="text" id="pai"/><br> 
    CP:<br><input type="text" id="cod"/><br> 
    <div id="txtHint"></div> 
</fieldset> 

任何人都可以幫助嗎?

回答

6

解析JSON這樣

var json = JSON.parse(xmlhttp.responseText); 
var results = json.results; 
for (var x in results) { 
    var address_components = results[x].address_components; 
    for (var i in address_components) { 
     console.log(address_components[i].long_name); 
    } 
} 
+0

那現在是一個JSON的感謝,因此,如何讓例如LONG_NAME? json.results [0] [0] .long_name?這是不正確的,這是錯誤的... – jvillegas

+0

@jvillegas是'結果'''地址_組件'''數組? – meda

+0

我thougt結果是一個子陣列名爲address_components – jvillegas