数组形式的字符串转换为JSON"/>
我如何在Node.js中将对象数组形式的字符串转换为JSON
这是我的字符串
let data = "[{Date: 2002,Entity Taking Action: Maryland Board ,Action Taken: Reprimand},{Date: 2002,Entity Taking Action: Massachusetts Board,Action Taken: Consent order because of Maryland Board},{Date: 2007,Entity Taking Action: North Carolina Medical Board,Action Taken: Consent order because of Maryland Board action},{Date: 2013,Entity Taking Action: NC Medical Board,Action Taken: Letter of concern for not reporting previous NC consent order on reactivation of NC licence}]"
回答如下:您最好的解决方案可能是要求该字符串的提供者不要认为他提供的内容有用。很有可能这是一个小错误,或者至少在他方面付出了很少的努力,他才能提供更好的结构化格式(至少直接使用yaml或其他格式)
如果您仍然需要做自己的事,可以
- 尝试将字符串转换为可解析的字符串
let data = "[{Date: 2002,Entity Taking Action: Maryland Board ,Action Taken: Reprimand},{Date: 2002,Entity Taking Action: Massachusetts Board,Action Taken: Consent order because of Maryland Board},{Date: 2007,Entity Taking Action: North Carolina Medical Board,Action Taken: Consent order because of Maryland Board action},{Date: 2013,Entity Taking Action: NC Medical Board,Action Taken: Letter of concern for not reporting previous NC consent order on reactivation of NC licence}]"
const t = data
.replace(/([{,]\s*)([^{:]*)(:)/g, '$1"$2"$3') // replace keys
.replace(/(:\s*)([^},]*)([,}])/g, (all, $1, $2, $3) => { // replace values
let val = $2
if (parseInt($2) != $2) {
val = `"${$2}"`
}
return `${$1}${val}${$3}`
}) // replace values
console.log('t : ', JSON.parse(t))
更多推荐
我如何在Node.js中将对象数组形式的字符串转换为JSON
发布评论