#javascript #php #jquery #arrays #json
#javascript #php #jquery #массивы #json
Вопрос:
Я получаю массив из запроса mysql в test.php
$rows =Array ( [0] => Array ( [name] => nikhil ) [1] => Array ( [name] => akhil ))
Я преобразую его в строку формата json и повторяю ее
$jsonstring = json_encode($rows);
echo $jsonstring;
ВЫВОД :
[{«name»:»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);}
и он анализирует его должным образом, и я также могу получить доступ к этому объекту json, но, как мы знаем
$.parseJSON()
преобразует только правильно сформированную строку json в объект. http://api.jquery.com/jquery.parsejson /
$.parseJSON(): принимает правильно сформированную строку JSON и возвращает результирующее значение JavaScript.
итак, как $.parseJSON()
анализировать массив? есть идеи?
Комментарии:
1. Этот «выходной» массив представляет собой JSON.
2. Это допустимый формат JSON, поскольку он включает массивы: json.org
3. это не json, это как массив, правильный json будет
{"users" :[{"name":"nikhil"},{"name":"akhil"}]}
4. @beginner нет, это неверно. Массив — это отличное значение JSON.
5. @beginner это предположение о JSON неверно. Даже структура JSON, состоящая только из строкового литерала, является допустимым JSON.
Ответ №1:
Значение JSON может быть:
- Число;
- Строка;
- Значения
null
,true
, илиfalse
; - Массив значений JSON;
- Объект, состоящий из строковых имен свойств и значений JSON для каждого.
Итак
[{"name":"nikhil"},{"name":"akhil"}]
это отличное значение JSON. Это массив, содержащий два значения, каждое из которых является объектом с одним свойством, имеющим строковое значение.
Комментарии:
1. Вы сказали значение JSON, что вы подразумеваете под значением json, я думаю
{"users" :[{"name":"nikhil"},{"name":"akhil"}]}
, что значение JSON — это массив, и все в порядке2. @beginner нет, это просто неверно. Массив определенно является допустимым значением JSON, и тот факт, что
JSON.parse()
он способен его анализировать, должен быть всем необходимым доказательством.3. Спасибо , я где-то читал, что массив не является json , и json должен быть только в
{"name":"value"}
формате . и я был очень доволен . Рад узнать, что мое предположение было неверным