将javascript数组转换为java对象

时间:2013-07-15 11:52:49

标签: java javascript

我想将javascript多维数组转换为某个java对象。我把这个数组存储在字符串中。这是我的字符串

中的数组示例
String array = "[1,2,3,[3,2,4],['asdasda','test','tsdsdf'],3,2,['sddd']]";

和结构可以不同,这只是一个例子。

有没有办法将这个数组转换成某个Java对象?

1 个答案:

答案 0 :(得分:2)

简短回答:是的。 ; - )

答案很长:考虑到Java和JavaScript的相似之处,这是非常困难的。

首先,您的输入不是JSON格式(对于JSON,字符串必须使用"引号),因此您不能使用许多JSON解析库之一,如gsonjackson

所以接下来的选择是使用像Rhino这样的JavaScript解释器,调用evaluateString() and examine the result

这为你提供了一个JavaScript array实例,从Java的角度来看,它会感觉很奇怪 - 记住,JavaScript数组实际上更像是哈希映射,而不是普通的Java数组加上一些JavaScript奇怪的东西。

如果您想从此类数组中获取值5,可以使用array.get(5, array);

最后一个选项是编写自己的解析器。