我在postgresql(9.4)和javascript方面遇到了一些问题。我试图将jsonb []数据类型转换为javascript中json值的数组/列表。为简单起见,我的示例在数组中只包含一个元素(json)。
var s = { "player": "{\"{\\\\\"username\\\\\": \\\\\"JetJet13\\\\\", \\\\\"points\\\\\": 525, \\\\\"level\\\\\": 3"}\"}" };
这是我到目前为止所尝试的内容。
JSON.parse(s.player); //this gives an error: SyntaxError: Unexpected token }
这是我正在寻找的东西。
var s = { "player": [ {"username": "JetJet13", "points": 525, "level": 3} ] };
任何帮助将不胜感激。
答案 0 :(得分:0)
好吧,我设法弄清楚如何得到我想要的结果。
我创建了一个让事情变得简单的功能。请注意,语法高亮显示与我的正则表达式混淆。可以理解校正/替代正则表达式。我使用Sublime Text 3,它也不能正确解释正则表达式。
var convertJSONarray = function(s){
var step1 = s.replace(/"{/g,'{').replace(/}"/g,'}').replace(/\\/g,"");
//step1 = "{ {}, {}, {},...}"
var step2 = "[" + step1.slice(1,-1) + "]";
// step2 = "[ {}, {}, {}, ...]"
var step3 = JSON.parse(step2);
// step3 = [ {}, {}, {}, ...] the desired result :)
return step3;
};
干杯。