例如以下格式JSON:

建立对应的Java对象,注意内部类要定义成静态的

public class HResult {

    public String total;
public String records;
public String page; public List<HCell> rows; static class HCell{
public List<String> cell;
public String id;
} }

使用Gson进行解析

public static void main(String[] args) {
String json = "{\"total\":\"1\",\"rows\":[{\"cell\":[\"c1\",\"c2\",\"没有检索到相关历史信息,请点击[我要留言]\",\"c4\",\"c5\",\"c6\",\"c7\"],\"id\":\"999999999999999999999999999999\"}],\"records\":\"0\",\"page\":\"1\"}"; Gson gson = new Gson(); HResult hResult = gson.fromJson(json, new TypeToken<HResult>(){}.getType()); System.out.println("total:"+hResult.total);
System.out.println("records:"+hResult.records);
System.out.println("page:"+hResult.page); List<HResult.HCell> list = hResult.rows;
for(HResult.HCell row:list){
System.out.println("cell:"+row.cell);
System.out.println("id:"+row.id);
}
}

运行结果:

run:
total:
records:
page:
cell:[c1, c2, 没有检索到相关历史信息,请点击[我要留言], c4, c5, c6, c7]
id:
成功构建 (总时间: 秒)

Gson解析复杂JSON对象的更多相关文章

  1. VBScript把json字符串解析成json对象的2个方法

    这篇文章主要介绍了VBScript把json字符串解析成json对象的2个方法,本文通过MSScriptControl.ScriptControl和jscript实现,需要的朋友可以参考下 asp/v ...

  2. Gson解析复杂Json数据

    背景                                                                   json是一种数据格式,便于数据传输.存储.交换. gson是 ...

  3. 关于json解析中 解析多重json对象

    JSONObject rst = {"AIS-RST":"AIS-00000001","AIS-STATUS":"AIS-0000 ...

  4. 【Java/Json】Java对Json进行建模,分词,递归向下解析构建Json对象树

    伸手党的福音 代码下载:https://files.cnblogs.com/files/xiandedanteng/JsonLexerBuilder20191202.rar 互联网上成型的对Json进 ...

  5. Gson解析复杂JSON字符串的两种方式

    JSON解析可以使用的库: JSONObject(源自Android官方). Gson(源自Google). Jackson(第三方开源库). FastJSON(第三方开源库). 本文例子使用Goog ...

  6. java android使用Gson解析泛型json数据

    那就直接开始吧. 在我们获取服务器返回的json数据有时候会出现这种情况,比如: {"body":{"attrName":"feed",&q ...

  7. Android Gson解析复杂Json

    JSON原数据 {"total":1,"rows":[{"ID":1,"Title":"台州初级中学招收初一年 ...

  8. Gson解析纯Json数组

    [ { "type": "123", "value": 123 }, { "type": "234" ...

  9. 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象

    post请求原代码: $.post( "/User/Home/Code", { Phone: $( "#phone").val() }, function (d ...

随机推荐

  1. injector

    angular 提供了一套依赖注入的机制,和后台很像.虽然我不觉得有很重要. var $injector = angular.injector(["myModule"]); var ...

  2. cf C. Insertion Sort

    http://codeforces.com/contest/362/problem/C #include <cstdio> #include <cstring> #includ ...

  3. 如何在Protel99se中批量修改元件的封装

    有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...

  4. #ifdef __cplusplus extern "C" {代码} 倒底是什么意思?

    时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus   extern "C" { #endif //一段代码 #ifdef __cplusplus } # ...

  5. Cmake 脚本对项目输出路径和输出头文件的路径定义

    对Lib项目的统一输出路径以下时解决方案: set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Lib)set(CMAKE_LIBRARY_O ...

  6. python 执行shell命令

    1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg  install.log  i ...

  7. cache buffers chains latch

    cache buffers chains latch 从 Oracle 8i Database 开始, 散列锁存器<-------(1:m)------>hash bucket<-- ...

  8. BZOJ2084: [Poi2010]Antisymmetry

    2084: [Poi2010]Antisymmetry Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 187  Solved: 125[Submit] ...

  9. 如何做Gibbs采样(how to do gibbs-sampling)

    原文地址:<如何做Gibbs采样(how to do gibbs-sampling)> 随机模拟 随机模拟(或者统计模拟)方法最早有数学家乌拉姆提出,又称做蒙特卡洛方法.蒙特卡洛是一个著名 ...

  10. 基于Bootstrap 3.x的免费高级管理控制面板主题:AdminLTE

    AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题.AdminLTE - 是一个完全响应式管理模板.基于Bootstrap3框架.高度可定制的,易于使用.适合从小型移动设 ...