2011-06-09 125 views
0

我们有一个复杂的json结构,我们需要在Android中进行解析。在Android中解析复杂的嵌套json数组/对象

{ 
"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" 
       } 
      ] 

     } 
     ] 
    } 
] 
} 

我已经检查了JSON在Android中解析各种教程,但我得到了这种结构相混淆,因为它再利用在各种阵列的名称。我想检查一下使用像GSON/Jackson这样的库来解析这个json结构是否容易。

此外,如果这个结构很大,每次解析这个结构时会占用更多的内存和性能问题,以便每次找到一个节点?

Regards, Aravind。 ç

回答

4

Gson可能是最好的选择。 如果你不确定如何构建你的java类,你可以很容易地生成与你在这里在线的json代码的类 - >JsonGen

+0

Thnx JsonGen给了我一种寻找这个json结构的新方法。 – Ara 2011-06-09 13:02:23

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。