javascript - js对象转字符串 - js获取json对象




将字符串转换为JSON对象 (5)

你如何让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..

JSON.parse()函数会做。

要么

使用Jquery,

var obj = jQuery.parseJSON( '{ "name": "Vinod" }' );
alert( obj.name === "Vinod" );

你可以使用JSON.parse()

请参阅MDN上的文档

例:

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)

希望能帮助到你,

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


var Data=[{"id": "name2", "label": "Quantity"}]

将字符串变量传递给Json解析:

Objdata= Json.parse(Data);





json