繁体   English   中英

在javascript中正确获取json

[英]Getting json right in javascript

我正在尝试设置一个分析脚本,其中我使用json像这样:

var visitors = [
    { date: "2014-01-11", value: 7 },
    { date: "2014-01-12", value: 2 },
    { date: "2014-01-13", value: 5 },
];

现在,我是通过ajax从php页面获取json的,如下所示:

jQuery.getJSON( "assets/ajax/flurry.php", { method: "ActiveUsers" } )
  .done(function( json ){

    var visitors = json; 
    console.log( "JSON Data: " + json );

});

这将产生以下结果:

JSON数据:[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象],[对象对象]

我在php页面上的输出如下所示:

[{ “@date”: “2015年1月14日”, “@值”: “948”},{ “@日期”: “2015年1月15日”, “@值”: “4720”},{ “@date”: “2015年1月16日”, “@值”: “4989”},{ “@日期”: “2015年1月17日”, “@值”: “5221”},{“@日期“:” 2015年1月18"日, “@值”: “5658”},{ “@日期”: “2015年1月19日”, “@值”: “5484”},{ “@日期” : “2015年1月20日”, “@值”: “5508”},{ “@日期”: “2015年1月21日”, “@值”: “5560”},{ “@日期”:” 2015年1月22"日, “@值”: “5576”},{ “@日期”: “2015年1月23日”, “@值”: “5452”},{ “@日期”:“2015 - 01-24" , “@值”: “5524”},{ “@日期”: “2015年1月25日”, “@值”: “5804”},{ “@日期”:“2015-01- 26" , “@值”: “5714”},{ “@日期”: “2015年1月27日”, “@值”: “5478”},{ “@日期”: “2015-01-28” , “@值”: “0”}]

我如何获取它来生成像第一个一样的javascript json?

任何帮助表示赞赏:-)

当您使用以下行时:

console.log( "JSON Data: " + json );

代码将整个对象强制转换为字符串,这通常不是一件非常有用的事情,因为它会用您得到的漂亮的[object Object]替换任何对象。

您可以将对象本身记录在单独的参数中:

console.log( "JSON Data: ", json );

或转储对象的JSON表示形式:

console.log( "JSON Data: ", JSON.stringify(json));

但是您可能会看到json变量已经是您期望的值。

您需要使用JSON.stringify()函数

console.log( "JSON Data: " + JSON.stringify(json) );

当您执行"JSON Data: " + json ,实际上是在将json对象转换为字符串。

您可以改用"JSON Data: " + JSON.stringify(json)

"JSON Data: " + json

json对象转换为类似于[object Object]的字符串。

您可以这样做:

console.log( "JSON Data: ", json );

将对象而不是字符串表示形式写入控制台。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM