javascript - 如何从数据库中检索数据并将它们转换为我的对象?

标签 javascript json node.js postgresql

我正在使用 postgres row_to_json 函数来获取通过 JSON.stringify() 存储的数据。但是,当我检索它并执行 JSON.parse() 时,它给了我“unexpected token ,”错误消息。

我来自前端的原始数据:

{ 
  "company":[
     {"name":"test company"},
     {"ceo":"John"}
   ]
}

我执行 JSON.stringify(myData.company) 并将其存储到 postgres。

当我检索它时,我有 row_to_json 函数来获取数据。

console.log(myRetrieveData) 变成了

{"{\"name\":\"test company\"}","{\"ceo\":\"John\"}"}

我使用了 JSON.parse(myRetrieveData) 并得到了“unpexted token ,”错误。

我理解 row_to_json 将其转换为 json 并且不能用于 JSON.parse 但我的其他数据需要该函数。 我不确定如何解决这个问题。谁能帮我解决这个问题? 非常感谢!

最佳答案

看起来您从查询中检索到的 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 

关于javascript - 如何从数据库中检索数据并将它们转换为我的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39586690/

相关文章:

javascript - MySQL连接表时出现: Get all columns except one,

javascript - 在客户端处理大数据集

node.js - 如何在nodejs中将Uint8Array视频转换为帧

json - 我可以使用哪些程序来可视化 JSON 文件?

php - 在 PHP 中创建对象和数组的复杂 JSON 嵌套

javascript - 无法为 JWT 正确设置 Exp 和 Iat

javascript - AngularJS 面试问题/挑战

java - SyntaxError : JSON. 解析:预期的属性名称或 '}'

javascript - 如何更改 CKEditor 中已注册的对话框

javascript - 重力形式在成功提交表单时触发 js 事件