将Postgres JSONB数组转换为JSON元素的Javascript数组

时间:2015-08-02 21:31:01

标签: javascript arrays json postgresql

我在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} ] };

任何帮助将不胜感激。

1 个答案:

答案 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;
 };

干杯。