Javascript 从字符串到Json对象的转换不起作用

Javascript 从字符串到Json对象的转换不起作用,javascript,jquery,ajax,json,string,Javascript,Jquery,Ajax,Json,String,我从一个ajax调用中得到了如下响应: “[{”share\u count:470,“like\u count:145,“comment\u count:173}]。” 这正是Chrome调试器显示它的方式。 现在我想将此字符串转换为JSON对象: var fbData=JSON.parse(JSON.stringify(data)) “数据”是Ajax响应 但是,如果我事后检查变量“fbData”,则它是一个字符串: console.log(fbData的类型)//结果为字符串 希望有人能帮我

我从一个ajax调用中得到了如下响应:

“[{”share\u count:470,“like\u count:145,“comment\u count:173}]。”

这正是Chrome调试器显示它的方式。 现在我想将此字符串转换为JSON对象:

var fbData=JSON.parse(JSON.stringify(data))

“数据”是Ajax响应

但是,如果我事后检查变量“fbData”,则它是一个字符串:

console.log(fbData的类型)//结果为字符串

希望有人能帮我! 我尝试了很多不同的方法,但是转换不起作用


提前感谢!:)

这就是解析它的方式:

var fbData = JSON.parse(data);
JSON.stringify
用于获取对象并将其转换为JSON字符串
用于获取JSON字符串并将其转换为对象

我假设您的字符串实际上是
[{“share\u count”:470,“like\u count”:145,“comment\u count”:173}]
(最后是no


请注意,如果您已经通过jQuery检索了这些数据,那么jQuery很可能在将其提供给您之前已经对其进行了解析。由于您没有引用代码,我们无法在这方面为您提供更多帮助,但很可能您可以直接使用
数据。

要将字符串解析为单个JSON对象,请使用:

JSON.parse('[{"share_count":470,"like_count":145,"comment_count":173}]')
要将字符串解析为多个JSON对象,请使用:

JSON.parse('[{"share_count":470},{"like_count":145},{"comment_count":173}]')

为什么要对字符串调用
JSON.stringify(data)
?只需要
JSON.parse
。此外,您的JSON末尾有一个无效的点
。输入字符串末尾不应该有句点(.)。根据ajax查询的执行方式,jQuery可能已经解析了数据。请参阅
dataType
“从字符串到Json对象的转换…”您不是将其转换为“Json对象”。而是将其转换为JavaScript对象。JSON是一种文本表示法;解析后,就不再有JSON了,只有本机对象了。请看一下,仔细阅读,特别是ok,下面是代码截取的posting.done(function(data){var fbData=JSON.parse(data);//Uncaught SyntaxError:Unexpected token.console.log(typeof data);//结果为“string”var table=document.getElementById(“url_table”);for(var j=1,col;col=table.rows[rowCount]。cells[j];j++{col.innerHTML=data.share_count;})@user3410232:要改进问题,请使用问题上的“编辑”链接,而不是评论。请务必向我们展示什么是
发布