如何为以下结构创建正确的对象?
没有任何键且数组在数组中的 JSON:
{
"1": [
[
[1.111, 2.222]
[1.111, 2.222]
...
],
[
[1.111, 2.222]
...
]
],
"2": [
[
[1.111, 2.222]
...
],
[
[1.111, 2.222]
...
]
],
...
}
最佳答案
我不会给你代码解决方案,但我会解释你的格式。 JSON格式详细解释here .
你有
{
"1": [
[
[1.111, 2.222]
[1.111, 2.222]
...
],
[
[1.111, 2.222]
...
]
],...
您的根元素是一个 JSON 对象。它包含许多对。每对("1": ...)
具有 JSON 数组 [...]
的值。每个 JSON 数组都包含 JSON 数组 [...]
的元素。 。这些 JSON 数组最终包含 JSON 数字基元 [12.34]
的元素。 。
因此,您的 JSON 具有以下级别(括号之间的数字是概念性嵌套级别)
Object (0)
name -> Array (1) of Arrays (2)
-> Array (2) of Arrays (3)
-> Array (3) of number primitives
这可以映射到 Map<String, List<List<List<Double>>>>
因为您有三层嵌套的数组。
如果您有一个自定义类,这也可以工作,但是映射根对名称将很困难,因为您在 Java 类中不能拥有动态字段名称。这就是为什么我建议 Map
如上所述。
或者,您可以将 JSON 解析为 com.google.gson.JsonObject
并遍历对象结构来获取你想要的元素。
关于java - 使用 Gson 解析 JSON。没有键的困难 JSON 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536987/