java - 使用 Gson 解析 JSON。没有键的困难 JSON 结构

标签 java android json gson

如何为以下结构创建正确的对象?

没有任何键且数组在数组中的 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/

相关文章:

java - 使用 Java API 的 ElasticSearch 完成建议器

java - Eclipse 剪贴簿中的枚举

java - 在 Android SQLite 中将许多嵌套的 JSON 对象和数组存储为数据结构的好方法?

java - 哪种websocket服务器实现可以与rabbitmq结合使用?

java - WIX - MSI : How to check highest version of jre 1. 7 - 直到 1.6,来自系统中多个版本的 JRE(1,8、1.7.0_80、1.7.0_79 和 1.6.0_45)

android - 将Android手机中的数据存储到数据库中

android - 像素和缩放像素有什么关系

java - MainActivity 中的 Fragment 静态 CheckBox NullPointer 异常

jquery - 修复 404 : missing parameters error from a GET request to CherryPy

sql - 如何检查json数组是否已经包含某个键?