我想将 javascript 多维数组转换为一些 java 对象。我将此数组存储在字符串中。这是我的字符串中的数组示例
String array = "[1,2,3,[3,2,4],['asdasda','test','tsdsdf'],3,2,['sddd']]";
和结构可以不同,这只是一个例子。
有没有办法将此数组转换为某个 Java 对象?
我想将 javascript 多维数组转换为一些 java 对象。我将此数组存储在字符串中。这是我的字符串中的数组示例
String array = "[1,2,3,[3,2,4],['asdasda','test','tsdsdf'],3,2,['sddd']]";
和结构可以不同,这只是一个例子。
有没有办法将此数组转换为某个 Java 对象?
简短的回答:是的。;-)
长答案:考虑到 Java 和 JavaScript 看起来有多么相似,这非常困难。
首先,您的输入不是 JSON 格式(对于 JSON,字符串必须使用"
引号),因此您不能使用许多 JSON 解析库之一,例如gson或jackson。
所以下一个选择是使用像Rhino这样的 JavaScript 解释器,调用evaluateString() 并检查结果。
这为您提供了一个JavaScript 数组实例,从 Java 的角度来看,它使用起来会感觉很奇怪——请记住,JavaScript 数组实际上更像是哈希映射,而不是普通的 Java 数组加上一些 JavaScript 奇怪的东西。
如果要从这样的数组中获取值 5,可以使用array.get(5, array);
最后一个选择是编写自己的解析器。