【发布时间】:2016-10-13 13:42:04
【问题描述】:
我从test.php中的mysql查询得到一个数组
$rows =Array ( [0] => Array ( [name] => nikhil ) [1] => Array ( [name] => akhil ))
我把它转换成json格式的字符串并回显它
$jsonstring = json_encode($rows);
echo $jsonstring;
输出:
[{"name":"nikhil"},{"name":"akhil"}]
我知道这仍然不是 json 格式,但它是一个数组(json)
但现在我可以在jquery.php 中使用$.parseJSON
$.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() 是如何解析数组的呢?有什么想法吗?
【问题讨论】:
-
那个“输出”数组是 JSON。
-
这是有效的 JSON 格式,因为它包含数组:json.org
-
它不是一个json,它是一个数组,一个合适的json应该是
{"users" :[{"name":"nikhil"},{"name":"akhil"}]} -
@beginner 不,这是不正确的。数组是一个非常好的 JSON 值。
-
@beginner 关于 JSON 的假设是不正确的。即使是只包含字符串文字的 JSON 结构也是有效的 JSON。
标签: javascript php jquery arrays json