2015-10-28 4 views
0

Я извлекаю строку из базы данных &, эта строка является массивом.JQuery - преобразовать строку в массив

jq.ajax({ 
      type: "GET", 
      url: "/Method/", 
      success: function() { 
       // Sample data  
       var data = "[{         
           name: "Santro", 
           canvas: "1" 
          }, {          
           name: "Tata", 
           canvas: "2" 
          }]"; 

После получения данных по вызову AJAX, я получаю строку.

Как преобразовать эту строку в массив?

+1

' JSON.parse (данные); 'igno ring – Tushar

+0

Ваши данные не действительны. Попробуйте здесь http://jsonlint.com/ – guradio

+0

@Tushar Как решить эту проблему с двойными кавычками? – Anup

ответ

0

Попробуйте

jq.ajax({ 
     type: "GET", 
     url: "/Method/", 
     dataType: "JSON", 
     success: function (obj) { 
      $.map(obj, function(el) 
       { 
        return el // as array 
       }); 
     } 
0

РНР должен выглядеть следующим образом:

public function actionTest2() { 
    $arr[] = [ 
     'name' => 'saura', 
     'canvas' => 1, 
    ]; 
    $arr[] = [ 
     'name' => 'tat', 
     'canvas' => 3, 
    ]; 
    //$arr like your db result 
    echo json_encode($arr); 
} 

и PHP вывод: [{"name":"saura","canvas":1},{"name":"tat","canvas":3}]

ваши JS должен выглядеть следующим образом:

jq.ajax({ 
    type: "GET", 
    url: "test2", 
    dataType: "JSON", 
    success: function (data) { 
     var obj = jQuery.parseJSON(data); 
     console.log(obj[0]); // make loop to navigate the data 
    } 
+0

проверить это: - http://stackoverflow.com/questions/33384841/string-data-conversion -to-array-issue – Anup

+0

проверить ответ, пожалуйста, что вы хотите! – mohsen

Смежные вопросы