解析未引用的JSON字符串

约翰·雷斯

解析未引用的JSON字符串的最简单方法是什么?
例如,如果我有以下内容:

{property1:value1,property2:value2}

以下引发错误:

JSON.parse( badJSONString );

因为正确的JSON应该带有引用的键和值: {"property1":"value1"}

马克·迈耶

如果您的数据是一致的(如果可能会很大),则可以使用非常简单的函数来处理字符串。对于某些在值或字符串中带有逗号或冒号的字符串,以下操作将失败,'{property1:val:ue1 ,property2:val,ue2}'但是无论如何,在数据中没有一些分隔符的情况下,这些字符串还是有问题的。

let bad = '{property1:value1,property2:value2}'
let obj = bad.slice(1, -1).split(/\s?,\s?/)
    .map(item => item.split(':'))
    .reduce((a, [key, val]) => Object.assign(a, {[key]: val}), {})

console.log(obj)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章