Jquery JSON格式问题

Jquery 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

现在我得到了我的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":"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/>&nbsp;&nbsp;'
                        +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"
}