【发布时间】:2018-07-19 19:53:12
【问题描述】:
解析不带引号的 JSON 字符串最简单的方法是什么?
例如,如果我有以下情况:
{property1:value1,property2:value2}
以下抛出错误:
JSON.parse( badJSONString );
因为正确的 JSON 应该引用键和值:{"property1":"value1"}
【问题讨论】:
-
你从哪里得到那个字符串?有没有办法让它有引号?
-
很遗憾,这是不可能的。
-
我认为你的选择是用你的字符串制作正则表达式
-
@ASDFGerte 您可能应该删除该评论。 “可能”和“建议”是完全不同的两件事。
-
一个有趣的方法是删除花括号并将字符串解析为一组对。以下是一个实现示例,如果您需要多种类型的值,则需要一个值解析器。
data.replace(/[{}]/g, '').split(',').map(val => val.split(':')).reduce((init, [key, val]) => Object.assign(init, { [key]: yourValueParser(val) } ), {}).
标签: javascript json string parsing