我使用postgresrow_to_json
函数来获取通过JSON.stringify()
存储的数据。但是,当我检索并执行JSON.parse()
时,它会给我“unexpected token ,
”错误消息。
我的前端原始数据:
{
"company":[
{"name":"test company"},
{"ceo":"John"}
]
}
我会把它储存在邮局。
当我检索它时,我有
JSON.stringify(myData.company)
函数来获取数据。而
row_to_json
变成{"{\"name\":\"test company\"}","{\"ceo\":\"John\"}"}
我使用了
console.log(myRetrieveData)
并得到了“JSON.parse(myRetrieveData)
”错误。我理解
unpexted token ,
将其转换为json,不能在row_to_json
上使用,但该函数是我的其他数据所必需的。我不知道怎么解决这个问题。有人能帮我吗?
谢谢!
最佳答案
看起来您从查询中检索到的JSON格式不适合解析它。为了避免这种情况,请确保存储在数据库中的JSON是正确的JSON格式,以便进行解析。如果无法实现,则必须将从数据库获得的响应修改为正确的JSON。有了以上数据,可以做如下工作。
var improperJson = '{"{\"name\":\"test company\"}","{\"ceo\":\"John\"}"}';
var properJson = improperJson.replace(/","/g, ",").replace(/^{"/, "[").replace(/"}$/, "]");
console.log(JSON.parse(properJson));//should give you the parsed JSON