2012-05-09 5 views
3

Можно создать дубликат:
JSON to javaScript arrayпреобразования JSON в массив с помощью JavaScript

Может кто-нибудь указать мне, как я могу преобразовать JSON данные в массив с помощью Java Script, чтобы нарисовать диаграмму из данных. 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}); 
} 
Смежные вопросы