2012-11-13 27 views
0

我這裏有一個問題,不知道如何解決它...如何切斷json字符串?

我有一個JSON文件是這樣的:

{"data":[{"kw":"48","val":"10","val2":"05"},{"kw":"49","val":"04","val2":"05"}]} 

但我需要這種格式:

[{"kw":"48","val":"10","val2":"05"},{"kw":"49","val":"04","val2":"05"}] 

在javascript/jQuery我做了一個ajax請求並獲取json:

$.ajax({ 
    type : "POST", 
    cache : "false", // DEBUG 
    url : weburl, 
    dataType : "json", 
    contentType : "application/json; charset=utf-8", 
    success : function(data) { 
    // Strip data? 
    } 
    }); 

Doe有誰知道如何做到這一點? 謝謝!

+0

最簡單的事情是將JSON解析到一個對象,然後將對象轉換的「數據」屬性回JSON。 – ken

+0

'data = data.data' – andlrc

回答

3
success : function (data) { 
    var array = data ? data.data : null; 
    // now perform the required operations with array variable. 
} 

這將僅返回數組,而不是包裹在一個對象。

+0

異步調用中沒有返回 – epascarello

+0

由於這是一個異步調用,您的返回值可能無處被引用。所以這是無用的,雖然你的總體思路是正確的。 – Sirko

+0

謝謝!這是一個容易的:) – Nico

2
$.ajax({ 
    type: "POST", 
    cache: "false", // DEBUG 
    url: weburl, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function(data) { 
     var arrayYouWant = data.data; // http://thedailywtf.com/Articles/Data-Data-data-Data.aspx 
    } 
}); 
2

爲什麼你需要剝去它,你剛纔提到它

success : function(data) { 
    var myArrayofObjects = data.data; 
} 
0

爲了真正理解在Javascript中閱讀Member operators,尤其是點符號。 JSON是Javascript的一個子集,JSON對象最終是一個Javascript對象。

0

不知道你的意思是歸檔。你的意思是簡單地訪問與數據屬性關聯的數組?

該數組與您的JSON字符串中的'data'屬性關聯。我可能會改變傳遞給成功函數的數據參數的名稱。

試試這個:

$.ajax({ 
    type: "POST", 
    cache: "false", // DEBUG 
    url: weburl, 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function(resp) { 
     var yourArray = resp.data; 
     console.log(yourArray); 
    } 
}); 
+0

存檔=只是我的英語不好:) – Nico