Jquery JSON格式问题
现在我得到了我的JSON url响应,因为我想打印这个urlJquery JSON格式问题,jquery,ajax,json,Jquery,Ajax,Json,现在我得到了我的JSON url响应,因为我想打印这个url [{"chat":"ed test","displayname":"Ed Student","created_at":"2014-03-29 21:42:35"}, {"chat":"test from sue","displayname":"Sue Student","created_at":"2014-03-29 21:42:25"},{"chat":"Test from instructor","displayname":"Ja
[{"chat":"ed test","displayname":"Ed Student","created_at":"2014-03-29 21:42:35"},
{"chat":"test from sue","displayname":"Sue Student","created_at":"2014-03-29 21:42:25"},{"chat":"Test from instructor","displayname":"Jane Instructor","created_at":"2014-03-29 21:42:18"}]
但我想让它看起来像这样:
[
{
"chat":"ed test",
"displayname":"Ed Student",
"created_at":"2014-03-29 21:42:35"},
{
"chat":"test from sue",
"displayname":"Sue Student",
}
]
等等
我的代码如下:
$.ajax({
type: "POST",
url: "chatlist.php?PHPSESSID=9c2b21f6309fd0cb8c157b54eafb7381",
cache: true,
async: true,
dataType:"json",
data: JSON.stringify(messages, null, 4),
success: function(data){
$("#messages").empty();
for (var i = 0; i < data.length; i++) {
entry = data[i];
$("#messages").append("<p>"+htmlentities(entry.chat)+'<br/> '
+htmlentities(entry.displayname)+' '+htmlentities(entry.created_at)+"</p>\n");
console.log(JSON.stringify(data[i]));
}
OLD_TIMEOUT = setTimeout('messages()', 4000);
}
});
$.ajax({
类型:“POST”,
url:“chatlist.php?PHPSESSID=9c2b21f6309fd0cb8c157b54eafb7381”,
是的,
async:true,
数据类型:“json”,
数据:JSON.stringify(消息,null,4),
成功:函数(数据){
$(“#消息”).empty();
对于(变量i=0;i
+htmlentities(entry.displayname)+''+htmlentities(entry.created_at)+“\n”);
log(JSON.stringify(data[i]);
}
OLD_TIMEOUT=setTimeout('messages()',4000);
}
});
是否可以格式化我通过这个$.ajax调用得到的响应URL?我想您正在寻找
JSON.stringify(value[, replacer [, space]])
像
检查
阅读:
在我的PHP代码中
echo(json_encode($messages));
当我应该
echo(json_encode($messages, JSON_PRETTY_PRINT));
打印出我的JSON jq是一个命令行json处理器。您还可以使用
jq
格式化json。当您将ajax调用响应保存为json文件时,jq
是在命令行上格式化它的最佳方式
例如:
$ echo '{ "foo": "lorem", "bar": "ipsum" }' | jq .
{
"bar": "ipsum",
"foo": "lorem"
}
参见jq
主页及教程:
另请参见类似的SO问题:@arunraj-我之所以回滚此问题,是因为您整理了OP的JSON源代码,并使问题变得毫无意义。好吧,大概是您的PHP将生成JSON。你应该表现出来。另外,JSON中唯一的区别是某些对象没有日期吗?您对差异的描述并不清楚。您当前的数据是最佳数据的超集,这意味着您可以(取决于您的实现)访问所需的数据,而忽略冗余数据。问题是什么?在回滚编辑后。。。你只是想让你的JSON打印得漂亮吗?如果是的话,你为什么在乎?JSON不是由人读取的,而是由您的代码读取的。如果您只想将其用于测试,那么任何数量的RESTful测试工具都会自动为您显示漂亮的打印效果。
async:true
-无需指定。此外,它还会让那些知道async:false
不好的人感到不必要的颤抖。
$ echo '{ "foo": "lorem", "bar": "ipsum" }' | jq .
{
"bar": "ipsum",
"foo": "lorem"
}