Подтвердить что ты не робот

JSuery Parsing JSON array

У меня есть вывод JSON, как показано ниже:

["City1","City2","City3"]

Я хочу получить каждый из названий городов, как я могу это сделать?

$.getJSON("url_with_json_here",function(json){

});

EDIT:

$.getJSON('url_here', function(data){
    $.each(data, function (index, value) {
      $('#results').append('<p>'+value+'</p>');
        console.log(value);
    });
});

Вышеприведенное не работает, никакие значения не выводятся.

4b9b3361

Ответ 1

getJSON() также проанализирует JSON для вас после извлечения, поэтому с этого момента вы работаете с простым массивом Javascript ([] обозначает массив в JSON). В документации также есть примеры того, как обрабатывать извлеченные данные.

Вы можете получить все значения в массиве с помощью цикла for:

$.getJSON("url_with_json_here", function(data){
    for (var i = 0, len = data.length; i < len; i++) {
        console.log(data[i]);
    }
});

Проверьте консоль, чтобы увидеть результат (Chrome, Firefox/Firebug, IE).

jQuery также предоставляет $.each() для итераций, поэтому вы также можете сделать это:

$.getJSON("url_with_json_here", function(data){
    $.each(data, function (index, value) {
        console.log(value);
    });
});

Ответ 2

Используйте метод parseJSON:

var json = '["City1","City2","City3"]';
var arr = $.parseJSON(json);

Затем у вас есть массив с названиями городов.

Ответ 3

var dataArray = [];
var obj = jQuery.parseJSON(yourInput);

$.each(obj, function (index, value) {
    dataArray.push([value["yourID"].toString(), value["yourValue"] ]);
});

мне это очень помогает:-)

Ответ 4

var dataArray = [];
var obj = jQuery.parseJSON(response);
  for( key in obj ) 
  dataArray.push([key.toString(), obj [key]]);
};

Ответ 5

с parse.JSON

var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );