为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串转换为JSON对象

将字符串转换为JSON对象

守着星空守着你 2019-11-11 10:44:56
您如何使JS认为字符串是JSON?我有一个仅在将JSON对象传递给它的情况下才起作用的函数。如果我向其传递与JSON格式相同的字符串,则该字符串将不起作用。因此,我想让该函数认为传递给它的字符串是JSON。该字符串确实是JSON格式。我还尝试了以下方法。我通过Ajax输入了字符串,参数“ handle as”为“ JSON”,然后将结果传递给函数。所以我推论出问题不在于字符串。如何将此字符串转换为JSON?如果我通过ajax请求获得相同的字符串,然后将其传递给函数有效,而直接传递则不起作用。字符串如下:  {     "data": [   {  "id": "id1",      "fields": [        {          "id": "name1",          "label": "joker",          "unit": "year"        },         {"id": "name2", "label": "Quantity"},    ],      "rows": [    data here....and closing braces..
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

您可以使用JSON.parse()。


例:


var myObj = JSON.parse('{"p": 5}');

console.log(myObj);


查看完整回答
反对 回复 2019-11-11
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

我也遇到类似问题,例如您的问题


{id:1,field1:"someField"},{id:2,field1:"someOtherField"}

这里的问题是字符串的结构。在这种情况下,json解析器无法识别需要创建2个对象。所以我做的有点愚蠢,我只是重新构造了我的字符串,并在[]其中添加了解析器识别的


var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"}

myString = '[' + myString +']'

var json = $.parseJSON(myString)

希望能帮助到你,


如果有人有更优雅的方法,请分享。


查看完整回答
反对 回复 2019-11-11
  • 3 回答
  • 0 关注
  • 495 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信