繁体   English   中英

JSON.parse无法将JSON字符串转换为JSON对象

[英]JSON.parse is not working for converting JSON string to JSON object

需要帮助将下面的JSON字符串转换为JSON对象。即使字符串JSON是有效的json(已通过https://jsonlint.com/验证)。

JSON:

{
    "condition": "AND",
    "rules": [{
            "id": "amount",
            "operator": "greater_or_equal",
            "value": "900"
        },
        {
            "condition": "AND",
            "rules": [{
                    "id": "vendorname",
                    "operator": "equal",
                    "value": "US BANK NATIONAL ASSOCIATION"
                },

                {
                    "id": "vendorname",
                    "operator": "equal",
                    "value": "HANSEN SOLUTIONS  LLC"
                }
            ]
        }
    ]

}

您的JSON字符串是多行。 多行字符串应使用模板文字存储,否则请使用字符串串联来表示您的字符串。

下面的示例使用模板文字。 用于表示多行字符串。

 var str = `{ "condition": "AND", "rules": [{ "id": "amount", "operator": "greater_or_equal", "value": "900" }, { "condition": "AND", "rules": [{ "id": "vendorname", "operator": "equal", "value": "US BANK NATIONAL ASSOCIATION" }, { "id": "vendorname", "operator": "equal", "value": "HANSEN SOLUTIONS LLC" } ] } ] }`; console.log(JSON.parse(str)); 

这是一个单行字符串。

 var str = '{"condition":"AND","rules":[{"id":"amount","operator":"greater_or_equal","value":"900"},{"condition":"AND","rules":[{"id":"vendorname","operator":"equal","value":"US BANK NATIONAL ASSOCIATION"},{"id":"vendorname","operator":"equal","value":"HANSEN SOLUTIONS LLC"}]}]}'; console.log(JSON.parse(str)); 

需要帮助将下面的JSON字符串转换为JSON对象。即使字符串JSON是有效的json(已通过https://jsonlint.com/验证)。

JSON.parse(jsonString); 只要您需要一个相当现代的浏览器,它就是一种纯JavaScript方法。

另请参阅https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

更新:尝试JSON.parse(JSON.stringify(TheString))

只是使用

try {
      let obj = JSON.parse( string);
} catch( e) {
    // conversion fails
   console.error( e ) 
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM