【问题标题】:Parsing complex nested json Array / Objects in Android在Android中解析复杂的嵌套json数组/对象
【发布时间】:2011-06-09 11:53:50
【问题描述】:

我们有一个复杂的 json 结构,需要在 Android 中解析。

{
"StatusCode":0,
"StatusInfo":"Processed and Logged OK",
"Schools":[
    {
     "Id":"1",
     "Name":"School 1",
     "Class":[
        {
           "Id":"11",
           "Name":"Class 1",
           "Section":[
              {
                 "Id":"12",
                 "Name":"Section A"
              },
              {
                 "Id":"13",
                 "Name":"Section B"
              },
              {
                 "Id":"14",
                 "Name":"Section C"
              }
            ]
        },
        {
        "Id":"21",
        "Name":"Class 2",
        "Section":[
              {
                 "Id":"22",
                 "Name":"Section A"
              },
              {
                 "Id":"23",
                 "Name":"Section B"
              }
            ]

        }
        ]
    },
    {
     "Id":"5",
     "Name":"School 2",
     "Class":[
        {
           "Id":"51",
           "Name":"Class 1",
           "Section":[
              {
                 "Id":"512",
                 "Name":"Section A"
              },
              {
                 "Id":"513",
                 "Name":"Section B"
              },
              {
                 "Id":"514",
                 "Name":"Section C"
              }
            ]
        },
        {
        "Id":"52",
        "Name":"Class 2",
        "Section":[
              {
                 "Id":"522",
                 "Name":"Section A"
              },
              {
                 "Id":"523",
                 "Name":"Section B"
              }
            ]

        }
        ]
    }
]
}

我查看了有关 Android 中 json 解析的各种教程,但我对这种结构感到困惑,因为它在各种数组下重用名称。我想检查使用像 GSON / Jackson 这样的库来解析这个 json 结构是否容易。

另外,如果这个结构体很大,每次解析这个结构体寻找节点时,会不会占用更多的内存和性能问题?

问候, 阿拉文德。 C

【问题讨论】:

    标签: android json parsing


    【解决方案1】:

    Gson 可能是最好的方法。 如果您不确定如何构建您的 java 类,您可以使用在线的 json 代码轻松生成类 -> JsonGen

    【讨论】:

    • Thnx JsonGen 给了我一种查看这个 json 结构的新方法。
    【解决方案2】:

    来自Gson Performance and Scalability的参考

    • 字符串:反序列化的字符串 超过 25MB 没有任何问题
    • 大型收藏:
           o Serialized a collection of 1.4 million objects 
           o Deserialized a collection of 87,000 objects 
    
    • Gson 1.4 提高了字节数组的反序列化限制 并从 80KB 收集到超过 11MB。

    【讨论】:

      猜你喜欢
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多