2016-10-13 3 views
1

Я получаю массив из запросов MySQL в test.php

$rows =Array ([0] => Array ([name] => nikhil) [1] => Array ([name] => akhil))

преобразовать его в строку формата JSON и эхо его

$jsonstring = json_encode($rows); 
echo $jsonstring; 

ВЫВОД:

[{» имя ":" nikhil "}, {" name ":" akhil "}]

Я знаю, что это до сих пор не в формате JSON, но это массив (из JSON)

Но теперь я могу использовать $.parseJSON в jquery.php

$.post("/test.php",function(r){var jsonobject = $.parseJSON(r); 
    for(var i=0;jsonobject[i];i++){ 
    $("#userslist").append("<br>" + jsonobject[i].name);} 

и разобрать его properlly, и я могу получить доступ к этому json object, но, как известно,

$.parseJSON() преобразует только хорошо сформированную строку json в объект. http://api.jquery.com/jquery.parsejson/

$ .parseJSON(): Создает корректную строку JSON и возвращает полученное значение JavaScript.

так как $.parseJSON() разобрать массив? есть идеи?

значение
+2

Этот "выход" массив ** есть ** JSON. – Pointy

+1

Это действительный формат JSON, так как он включает в себя массивы: http://www.json.org/ – Ultimater

+0

Это не json, а как массив, правильный json будет '{" users ": [{" name ":" nikhil "}, {" name ":" akhil "}]}' – beginner

ответ

7

JSON может быть:

  • Ряд;
  • Строка;
  • Величины null, true, или false;
  • Массив значений JSON;
  • Объект, состоящий из имен свойств строк и значений JSON для каждого.

Так

[{"name":"nikhil"},{"name":"akhil"}] 

является вполне хорошее значение в формате JSON. Это массив, содержащий два значения, каждый из которых представляет собой объекты с единственным свойством, имеющим строковое значение.

+0

Вы сказали значение JSON, что означает значение json, я думаю, что в '{" users ": [{" name ":" nikhil "}, {" name ":" akhil "}]}' Значение JSON - это массив , все в порядке – beginner

+0

@beginner нет, это просто не правильно. Массив определенно является допустимым значением JSON, и тот факт, что 'JSON.parse()' способен его анализировать, должен быть всем необходимым. – Pointy

+0

Спасибо, я где-то читал, что Array не json, а json должен быть только в формате '{" name ":" value "}'. и я был очень убежден. С удовольствием знаю, что мое предположение было неправильным – beginner

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