【问题标题】:How to convert string json to JSON object [duplicate]如何将字符串json转换为JSON对象[重复]
【发布时间】:2014-06-22 07:26:46
【问题描述】:

我正在尝试从另一个 js 文件中获取 json 对象。我发现最终结果是字符串形式的 json 看起来像这样

"[{ "part": "Part1", "dwg": "ASAD" }, { "part": "Part2", "dwg": "B" }];" 

如何转换成 JSON 对象?这是我的代码

var jsonData = $.get("/Scripts/dummy.js", function (data) {

            console.log(data);
            return data;
        });

【问题讨论】:

    标签: jquery json


    【解决方案1】:

    使用 JSON.stringify()。

    var json = JSON.stringify(data);

    【讨论】:

      【解决方案2】:

      要将字符串转换为 JSON 对象,请使用 JSON.parse:

      var jsonObject = JSON.parse(jsonText);

      var jsonData = $.get("/Scripts/dummy.js", function (data) {
      
              console.log(data);
              return  JSON.parse(data);
          });
      

      【讨论】:

        【解决方案3】:

        你需要的是 JSON.parse():

        var json = '[{ "part": "Part1", "dwg": "ASAD" }, { "part": "Part2", "dwg": "B" }]';
        JSON.parse(json); 
        

        【讨论】:

          【解决方案4】:

          首先,您需要从对象字符串中删除尾随 ; 并使用正确的单引号/双引号:

          // Your string used all double quotes, replace the outermost quotes with single 
          // quotes as shown below. Also notice that the ; has been moved outside the 
          // string, semicolons are not permitted as part of JSON object strings
          var x = '[{ "part": "Part1", "dwg": "ASAD" }, { "part": "Part2", "dwg": "B" }]';    
          

          然后使用JSON.parse()返回一个有效的JSON对象:

          JSON.parse(x);
          => [ { part: 'Part1', dwg: 'ASAD' },
               { part: 'Part2', dwg: 'B' } ]
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-01-06
            • 1970-01-01
            • 2021-01-16
            • 2019-08-27
            • 2020-05-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多