现在我正在获取我的JSON网址响应,因为我想打印此网址
[{"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调用获得的响应URL?
答案 0 :(得分:2)
我认为你在寻找,
JSON.stringify(value[, replacer [, space]])
像,
var data = JSON.stringify(data, null, "\t"); // Using a tab character mimics standard pretty-print appearance
console.log(data);
检查
阅读:
答案 1 :(得分:1)
在我的PHP代码中我有
echo(json_encode($messages));
我什么时候应该
echo(json_encode($messages, JSON_PRETTY_PRINT));
这是打印出我的JSON。
答案 2 :(得分:-1)
jq
是命令行json处理器。您也可以使用jq
来格式化json。当您将ajax调用响应保存为json文件时,jq
是在命令行上格式化它的最佳方式。
示例:
$ echo '{ "foo": "lorem", "bar": "ipsum" }' | jq .
{
"bar": "ipsum",
"foo": "lorem"
}
请参阅jq
主页,其中包含教程:http://stedolan.github.io/jq/
另见类似的SO问题:How can I pretty-print JSON in (unix) shell script?