簡體   English   中英

如何解析JSON數組

[英]How to parse a JSON array

新功能並遇到障礙,一直在搜索,但找不到我所具備的技能答案。 任務非常簡單,我想解析來自氣象站的http://data.sparkfun.com/output/AJ2p4r8Owvt1MyV8q9MV.json 我使用過W3C教程,但似乎無法解析此文件,但是http://json.parser.online.fr沒問題。 所有循環分析示例只是讓我一個又一個警報。

我想要的就是能夠例如通過javascript選擇temp [0](天生就知道有多少個)並將其顯示在網站上。 我真的迷路了,嘗試搜尋,如果我錯過了金礦,那我就不好了。 謝謝!

范例程式碼

var text = '[{"humidity":"42.8000","stationtime":"2014-07-06 19:43:52","temp":"23.3000","timestamp":"2014-07-06T09:44:07.918Z"},{"humidity":"‌​43.0000","stationtime":"2014-07-06 19:42:57","temp":"23.2000","timestamp":"2014-07-06T09:42:22.003Z"},{"humidity":"‌​43.2000","stationtime":"2014-07-06 19:42:36","temp":"23.3000","timestamp":"2014-07-06T09:42:51.737Z"}]';  
var obj = JSON.parse(text); 
document.getElementById("demo").innerHTML = obj.temp[0]; 

首先,您需要解析傳入的字符串,如下所示:

temp_arr = JSON.parse(json_string);

只需在temp_arr數組上循環,在循環的每次迭代中,您將有一個對象(tobj)。 例如,像這樣:

{"humidity":"40.9000","stationtime":"2014-07-06 21:21:03","temp":"22.6000","timestamp":"2014-07-06T11:20:27.231Z"}

您所要做的就是像tobj.temp一樣訪問它,並用它顯示在頁面上。

我已經在以下網址寫了一個jQuery實現: http//jsfiddle.net/DNH5n/2/

jQuery使使用JSONP更加容易,這里有一個示例( http://jsfiddle.net/icodeforlove/9mBsr/

$.getJSON('http://data.sparkfun.com/output/AJ2p4r8Owvt1MyV8q9MV.json?callback=?', function (data) {
    data.forEach(function (item) {
        $('body').append(JSON.stringify(item)); 
    });
})

再次更新

這是使用您的代碼的另一個示例( http://jsfiddle.net/icodeforlove/9mBsr/2/

var text = '[{"humidity":"42.8000","stationtime":"2014-07-06 19:43:52","temp":"23.3000","timestamp":"2014-07-06T09:44:07.918Z"},{"humidity":"‌43.0000","stationtime":"2014-07-06 19:42:57","temp":"23.2000","timestamp":"2014-07-06T09:42:22.003Z"},{"humidity":"‌43.2000","stationtime":"2014-07-06 19:42:36","temp":"23.3000","timestamp":"2014-07-06T09:42:51.737Z"}]';

var obj = JSON.parse(text);

document.getElementById("demo").innerHTML = obj[0].temp;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM