我想将javascript多维数组转换为一些java对象。我有这个数组存储在字符串中。这里是我的字符串中的数组示例将JavaScript数组转换为java对象
String array = "[1,2,3,[3,2,4],['asdasda','test','tsdsdf'],3,2,['sddd']]";
和结构可以不同,这只是一个例子。
有什么办法将这个数组转换成一些Java对象吗?
我想将javascript多维数组转换为一些java对象。我有这个数组存储在字符串中。这里是我的字符串中的数组示例将JavaScript数组转换为java对象
String array = "[1,2,3,[3,2,4],['asdasda','test','tsdsdf'],3,2,['sddd']]";
和结构可以不同,这只是一个例子。
有什么办法将这个数组转换成一些Java对象吗?
简答:是的。 ;-)
长答案:考虑到Java和JavaScript看起来有多相似,这是非常困难的。
首先,您的输入不是JSON格式(对于JSON,字符串必须使用"
引号),因此您无法使用诸如gson或jackson之类的许多JSON解析库之一。
因此,下一个选择是使用像Rhino这样的JavaScript解释器,请致电evaluateString() and examine the result。
这给你一个JavaScript array实例,从Java的角度来看,使用起来会感觉很奇怪 - 记住,JavaScript数组实际上更像是散列图而不是普通的Java数组以及一些JavaScript怪异。
如果你想从这样一个数组值5,你可以使用array.get(5, array);
最后一种办法就是写自己的解析器。
谢谢你的解释。这是非常有用的:)我正在尝试JavaScript解释器,它似乎工作。再次感谢! – Majky
你可以使用像杰克逊或gson这样的json库来做到这一点 –
这是什么样的数组? –
简单的JavaScript多维数组...存储为字符串。 – Majky