Javascript 从字符串到Json对象的转换不起作用
我从一个ajax调用中得到了如下响应: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的类型)//结果为字符串 希望有人能帮我
“[{”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:要改进问题,请使用问题上的“编辑”链接,而不是评论。请务必向我们展示什么是发布
。