2012-05-09 75 views
3

可能重複:
JSON to javaScript array轉換JSON到數組

任何人都可以點我如何,我可以爲了畫一個使用Java腳本一個JSON數據轉換成數組來自de數據的圖表。 的JSON結構如下:

{ 
"d":{ 
    "results":[ 
    { 
     "_metadata":{ 
      "uri": "http://www.something.com/hi", 
      "type" : "something.preview.hi" 
      }, "Name", "Sara", "Age": 20, "Sex" : "female" 
    }, 
     "_metadata":{ 
      "uri": "http://www.something.com/hi", 
      "type" : "something.preview.hi" 
      }, "Name", "James", "Age": 20, "Sex" : "male" 
    } 
    ] 
    } 
} 

我想這傑森轉換爲以下格式:

var sampleData = [ 
       { name: 'Sara', Age: 20, Sex: 'female'}, 
       { name: 'James', Age: 20, Sex: 'male'} 
      ]; 

有沒有人對如何實現這一目標有什麼建議?

+3

請使用json而不是jason – Dhiraj

+2

這是一個JavaScript對象字面值,而不是JSON。 –

+0

問題是什麼?您可以找到有關如何在網絡上解析JSON的信息。然後你必須迭代你的結構並以你想要的格式轉換它。 [使用對象](https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects)可能會有所幫助。 –

回答

8
var sampleData = [], results = d.results; 
for (var i = 0, len = results.length; i < len; i++) { 
    var result = results[i]; 
    sampleData.push({ name: result.Name, Age: result.Age, Sex: result.Sex }); 
} 
+0

感謝您的回覆,它幫助了我很多。 – wingman55

+0

好!並感謝接受! – jmar777

1

你只需要遍歷javascript對象中的結果數組,然後構建一個新數組,該數組具有所需格式的數據。

var results = data.d.results; 
var sampleData = [], item; 
for (var i = 0, len = results.length; i < len; i++) { 
    item = results[i]; 
    sampleData.push({name: item.Name, Age: item.Age, Sex: item.Sex}); 
}