2013-03-21 2 views
-4

У меня есть большое количество (235) из JSON строки следующим образом:Перевести строку JSON в массив JavaScript

"57": { 
    "ID": 6986, 
    "Town": "Paris", 
    "latitude": 48.8829447, 
    "longitude": 2.3453532999999 
}, 
"58": { 
    "ID": 6987, 
    "Town": "Paris", 
    "latitude": 48.8749566, 
    "longitude": 2.3588815000001 
} 

И я хотел бы сделать массив JavaScript. Я прочитал много сообщений в Интернете об этом, но все они, похоже, не подходят для моего дела. Что мне делать?

+0

Это JSON не является полным - Я не вижу синтаксиса массива ('[' и ']'). –

+3

Недействительно JSON. Вы забыли внешние фигурные скобки? –

+2

Без дополнительной информации это дубликат http://stackoverflow.com/q/4935632/218196. Пожалуйста, напишите более полный пример ваших данных. Что это за «список»? Является ли это структурой данных на языке программирования, или это текстовый список? Как это выглядит? Что вы пробовали до сих пор и почему не сработали? Какую ошибку вы получили? –

ответ

3

Вы можете использовать JSON.parse()

var javascriptObject = JSON.parse(jsonString); 

В старых браузерах необходимо включить json2.js библиотека:

Download Link

+1

Это не работает непосредственно для строки OP. –

+0

Похоже на ошибку пасты в вопросе или на какой-то недействительный JSON – Oliver

3

JSON вы Размещенное немного сломанный, глядя на него Я предполагаю, что он должен быть объектом со свойствами, содержащими объекты:

{ 
    "57": { 
      "ID": 6986, 
      "Town": "Paris", 
      "latitude": 48.8829447, 
      "longitude": 2.3453532999999 
    }, 
    "58": { 
      "ID": 6987, 
      "Town": "Paris", 
      "latitude": 48.8749566, 
      "longitude": 2.3588815000001 
    } 
} 

Предполагая, что это, в первую очередь необходимо будет преобразовать его в объект JS с помощью JSON.parse:

var obj = JSON.parse(jsonString); 

Затем вам нужно, чтобы превратить этот объект в массив:

var i, 
    arr = []; 

for (i in obj) { 
    if (obj.hasOwnProperty(i)) { 
    arr.push(obj[i]); 
    } 
}; 

// arr now contains the array you were trying to get 
Смежные вопросы