JSON到数组反应,jquery
Posted
技术标签:
【中文标题】JSON到数组反应,jquery【英文标题】:JSON to Array react, jquery 【发布时间】:2015-10-26 06:15:29 【问题描述】:我从我的服务器获得了 json 数据,我想放入一个列表,我已经阅读 Convert JSON To Array javascript 和Converting data from JSON to JavaScript array 但我无法弄清楚我可以在我的代码中使用哪些选项我的 json 是这样的:
"response": "user": ["username": "", "description": "", "picture_url": "", "name": "", "phone": "" ], "成功": true
我想把它放在这样的数组中:
[用户名:“”,描述:“”,图片网址:“”,姓名:“”,电话:“”]
我能做些什么呢?我已经尝试过这个答案:Converting JSON Object into Javascript array
我也尝试了一些这样的功能:
$.each(data, function(i,obj)
$(arr).append(obj.username+'</br>');
$(arr).append(obj.description+'</br>');
$(arr).append(obj.name+'</br>');
);
还有这个:
var results = data;
var arr = [], item;
for (var i = 0, len = results.length; i < len; i++)
item = results[i];
arr.push(username: item.username, description: item.description, name: item.name);
但是对于第二个不显示任何内容并且不显示任何错误,对于第一个,显示一个未定义的错误 arr 未定义。
【问题讨论】:
发布你的服务器端脚本 您还需要什么?var user = JSON.parse(responseJson).response.user; var putItInAnArrayLikeThis = [user];
【参考方案1】:
在您的服务器端脚本中,将转换为 json 的数组应如下所示:
$array=array("response"=>array(
"user"=>array(array("username"=>"",
"description"=>"",
"picture_url"=>"",
"name"=>"",
"phone"=>"")),
"success"=>true
)
);
echo json_encode($array);
我认为在您的服务器端,“用户”数组格式看起来像
"user"=>array("username"=>"",
"description"=>"",
"picture_url"=>"",
"name"=>"",
"phone"=>"")
而不是那个,“用户”数组应该是嵌套的,就像我的第一个例子一样。
"user"=>array(array("username"=>"",
"description"=>"",
"picture_url"=>"",
"name"=>"",
"phone"=>""))
使用 javascript 转换为 json 后,输出将是:
用户:[用户名:“”,描述:“”,图片网址:“”,姓名:“”,电话:“”]
【讨论】:
我无法修改服务器端脚本【参考方案2】:假设你的 JSON 是这样发布的:
"response": "user": ["username": "", "description": "", "picture_url": "", "name": "", "phone": ""], "success": true
您已经在.response.user
获得了所需的确切数据结构。
所以代码会很简单:
var json = '"response": "user": ["username": "", "description": "", "picture_url": "", "name": "", "phone": ""], "success": true';
var obj = JSON.parse(json);
var theArrayYouWant = obj.response.user;
这根本不需要任何转换(除了反序列化 JSON 字符串),您只是提取了 JSON 中表示的数据结构的一部分。
【讨论】:
以上是关于JSON到数组反应,jquery的主要内容,如果未能解决你的问题,请参考以下文章
Node.js 速递 | JQuery 获取 JSON 时,客户端没有任何反应