如何将responseText转换为json

时间:2014-04-25 21:11:59

标签: html ajax json

我有一个xmlhttp.responseText:

{
   "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

我认为这很容易,但我不知道如何解决这个问题。

我想做什么把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>

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分: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);
    }
}