在Android中解析复杂的嵌套json数组/对象

时间:2011-06-09 11:53:51

标签: android json parsing

我们有一个复杂的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结构。

另外,如果这个结构很大,每次解析这个结构时,它会占用更多内存并且会出现性能问题吗?

此致 亚拉文。 ç

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

来自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。
  •