从字符串REST响应创建Javascript对象数组

从字符串REST响应创建Javascript对象数组,javascript,json,angularjs,rest,Javascript,Json,Angularjs,Rest,我不确定我是否试图在这里实现不可能的目标,javascript不是我的强项 这是我在javascript中需要的数据结构,以便使用google图表填充图表: injuryDistChart.data = [['X', '1', '2', '3', '4', '5', '6'], [1, 2, null, null, null, null, null], [2, 2, 3, null, null, null, null], [3, 2, null, 4, null, 6, null],

我不确定我是否试图在这里实现不可能的目标,javascript不是我的强项

这是我在javascript中需要的数据结构,以便使用google图表填充图表:

injuryDistChart.data = [['X', '1', '2', '3', '4', '5', '6'],
  [1, 2, null, null, null, null, null],
  [2, 2, 3, null, null, null, null],
  [3, 2, null, 4, null, 6, null],
  [4, null, null, null, 5, null, null],
  [5, null, null, null, null, 6, null],
  [6, 2, null, null, 5, null, 7],
  [7, 2, null, null, 5, null, 7],
  [8, 2, null, null, 5, null, 7],
  [9, 2, null, null, 5, null, 7],
  [10, 2, null, null, 5, null, 7]
];
我从服务器生成的响应如下所示。它是一个字符串,不是JSON响应:

"[['X', '1', '2', '3', '4', '5', '6'],
  [1, 2, null, null, null, null, null],
  [2, 2, 3, null, null, null, null],
  [3, 2, null, 4, null, 6, null],
  [4, null, null, null, 5, null, null],
  [5, null, null, null, null, 6, null],
  [6, 2, null, null, 5, null, 7],
  [7, 2, null, null, 5, null, 7],
  [8, 2, null, null, 5, null, 7],
  [9, 2, null, null, 5, null, 7],
  [10, 2, null, null, 5, null, 7]
]"
有没有办法将这个字符串对象转换成三维数组,或者我用了错误的方法

我是否应该返回一个JSON响应,并将其转换为所需的三维数组


我正在使用Java RESTful WS、angular和google图表

如果无法从服务发回JSON对象以将字符串解析为JSON对象,请对返回的字符串使用
JSON.parse()
,但理想情况下,是的,您应该将服务上的响应类型设置为
JSON

,理想情况下,发回JSON是首选方法。如果这是不可能的,那么在这个实例中,您需要做的就是将单引号转换为双引号,使其成为有效的JSON,然后像正常情况一样解析它

var json = str.replace("'", '"', 'g');
injuryDistChart.data = JSON.parse(json);

对于给定的服务,谷歌总是有JSON API。因此,如果这不是JSON,那么就在那里寻找更好的API;)只需使用
而不是
,这将生成有效的JSON。我可以发回JSON,但我认为我上面发布的格式是它所采用的唯一格式。看起来谷歌图表确实有一个JSON api,这是我需要查看的。
替换(/'/g')所以,我将单引号改为双引号,服务器端,然后使用JSON.parse(),一切正常