Javascript/Node-将数据库中存储为文本的json转换为json对象
我一整天都在用这个来敲墙,我看了其他问题,他们都说使用JSON.parse或类似的东西,但我一辈子都找不到任何有用的东西 我有一个对象作为文本存储在PostGres DB中:Javascript/Node-将数据库中存储为文本的json转换为json对象,javascript,node.js,Javascript,Node.js,我一整天都在用这个来敲墙,我看了其他问题,他们都说使用JSON.parse或类似的东西,但我一辈子都找不到任何有用的东西 我有一个对象作为文本存储在PostGres DB中: {149804: [75319, 2887526, 2938701],3136977: [3482061,3482062]} 我必须将它读入一个变量并检查它的属性,但我无法让它工作,如果我执行JSON.parse,我会在第一个数字{1…}上得到一个“SyntaxError:Unexpected number” 我试图查看
{149804: [75319, 2887526, 2938701],3136977: [3482061,3482062]}
我必须将它读入一个变量并检查它的属性,但我无法让它工作,如果我执行JSON.parse,我会在第一个数字{1…}上得到一个“SyntaxError:Unexpected number”
我试图查看对象属性,但没有对其进行分析测试,但它一直说它没有该属性(有和没有“围绕数字以防万一”):
我做错了什么?那是因为您的JSON无效 {149804:[7531928875262938701],3136977:[34820613482062]} 应该是 {“149804”:[7531928875262938701],“3136977”:[34820613482062]}
然后JSON.parse就可以工作了。对象属性应该是字符串,而不是数字。这是因为JSON无效 {149804:[7531928875262938701],3136977:[34820613482062]} 应该是 {“149804”:[7531928875262938701],“3136977”:[34820613482062]}
然后JSON.parse就可以工作了。对象属性应该是字符串,而不是数字。JSON中的键名/索引必须是字符串。正确的JSON应该是:
{
"149804": [
75319,
2887526,
2938701
],
"3136977": [
3482061,
3482062
]
}
JSON中的键名/索引必须是字符串。正确的JSON应该是:
{
"149804": [
75319,
2887526,
2938701
],
"3136977": [
3482061,
3482062
]
}
您的数据可能已经是JSON/对象格式。您可以通过console.log来确认变量或console.log(变量名称的类型)。您可以
eval(0 | | |…)
而不是JSON.parse(…)
,但速度会稍微慢一点。如果不填写数据库,请小心使用eval
。您可能还可以使用RegExp将JSON“修复”为可以解析的内容。您的数据可能已经是JSON/object格式。您可以通过console.log来确认变量或console.log(变量名称的类型)。您可以eval(0 | | |…)
而不是JSON.parse(…)
,但速度会稍微慢一点。如果不填写数据库,请小心使用eval
。您可能还可以使用RegExp将JSON“修复”为可以解析()的内容。