从String到Json对象的转换不起作用

时间:2015-08-06 07:46:44

标签: javascript jquery ajax json string

我从ajax调用得到一个响应,看起来像那样:

"[{"share_count":470,"like_count":145,"comment_count":173}]."

确切地说,Chrome调试器如何显示它。 现在我想将此字符串转换为JSON对象:

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

"数据"是Ajax响应

然而变量" fbData"如果我事后检查它是一个字符串:

console.log(typeof fbData); //导致字符串

希望有人可以帮助我! 我尝试了很多不同的东西,但转换不起作用..

提前致谢! :)

2 个答案:

答案 0 :(得分:1)

这是你解析它的方式:

var fbData = JSON.parse(data);

JSON.stringify用于获取对象并将其转换为JSON字符串。 JSON.parse用于获取JSON字符串并将其转换为对象。

我假设你的字符串真的是[{"share_count":470,"like_count":145,"comment_count":173}](最后没有.)。

请注意,如果您已通过jQuery检索此数据,那么作为Jon notes,jQuery可能已经已经解析它,然后再将其提供给您。由于您没有引用代码,因此我们无法为您提供更多帮助,但您可以直接使用data

答案 1 :(得分:0)

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

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

要在多个JSON对象使用时解析字符串:

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