我的字符串化对象数据未在对象值周围包含引号,而尝试时会出现以下错误JSON.parse()
:
'{ "affiliation": CORPORATE, "userId": 75c35d1c-5d12-4485-8fa8-b2f1551a3e6e }'
我需要的字符串是:
'{ "affiliation": "CORPORATE", "userId": "75c35d1c-5d12-4485-8fa8-b2f1551a3e6e" }'
我正在使用此正则表达式为对象键添加引号:
var newStr = str.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"$2": ');
例如:'{ affiliation: CORPORATE }'
以'{ "affiliation": CORPORATE }'
我的数据中只有字符串值,所以我不需要检查值类型。我如何更改我的正则表达式表达式以将引号也添加到对象值?
您可以使用以下正则表达式:
/[ ](?=\b)|\b(?=,|[ ])/g
它开始与Space匹配,并使用A的前瞻性Word boundary
。然后,它对Word boundary
acomma
或a使用交替形式Space
。
它使用'global'
标志来匹配所有。
然后,将匹配项替换为double quote
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句