猿问

将字符串转换为JSON对象

您如何使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..


守着星空守着你
浏览 496回答 3
3回答

桃花长相依

您可以使用JSON.parse()。例:var myObj = JSON.parse('{"p": 5}');console.log(myObj);

尚方宝剑之说

我也遇到类似问题,例如您的问题{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)希望能帮助到你,如果有人有更优雅的方法,请分享。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答