{
"website": {
"1": {
"basic": {
"homepage": "http://pythontip.sinaapp.com/",
"homename": "Python之禅--大道至简"
},
"list": {
"2": {
"childpage": "http://pythontip.sinaapp.com/study/books/pythontutorial3-master",
"chilename": "Python 入门指南"
},
"3": {
"childpage": "http://pythontip.sinaapp.com/coding/code_oj",
"chilename": "挑战Python"
}
}
}
}
}

我使用的是Google的Gson对其做解析,
下载gson jar包

 import java.io.Serializable;

 public class ChildPage implements Serializable {

     /**
*
*/
private static final long serialVersionUID = 1L; private String childpage;
private String chilename; //getter and setter @Override
public String toString() {
return "ChildPage [childpage=" + childpage+ ", chilename=" + chilename + "]";
}
}
 import java.io.Serializable;

 public class ParentPage implements Serializable {

     /**
*
*/
private static final long serialVersionUID = 1L; private String hostpage;
private String homename; //getter and setter @Override
public String toString() {
return "ParentPage [homepage=" + homepage+ ", homename=" + homename + "]";
}
}
 import java.io.Serializable;
import java.util.HashMap; public class ParentAndChildPage implements Serializable { /**
*
*/
private static final long serialVersionUID = 1L; private ParentPage basic;
private HashMap<String,ChildPage> list; //getter and setter @Override
public String toString() {
return "ParentAndChildPage [basic=" + basic + ", list=" + list + "]";
}
}
 import java.io.Serializable;
import java.util.HashMap; public class Website implements Serializable { /**
*
*/
private static final long serialVersionUID = 1L; private HashMap<String,ParentAndChildPage> website; //getter and setter @Override
public String toString() {
return "Website [website=" + website + "]";
}
}
 Website website = new Gson().fromJson(json, Website.class);

注意:Java Bean的属性必须和Json串的key值对应。

一个复杂Json的解析的更多相关文章

  1. JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

    JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象

  2. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  3. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...

  4. JSON数据解析 基础知识及链接收集

    JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...

  5. 浅谈JSON数据解析方法

    JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...

  6. JSON数据解析(转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  7. JSON数据解析(GSON方式) (转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...

  8. iOS - JSON 数据解析

     iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...

  9. JSON.parse解析单引号名值对报错

    今天整理代码的时候发现JSON.pare解析时会报了一个错误,而且很难找原因,调试了几分钟没有成功,猜测可能是单双引号引起的错误.修改了单双引号后程序正常运行了,现在记录下这个bug. 关于JSON. ...

随机推荐

  1. Spring事务传递

    2018-09-25 @Transactional(propagation=Propagation.NEVER) public void update(){ Session s = sessionFa ...

  2. GDB基础学习

    GDB基础学习 要调试C/C++程序,首先在编译时,我们必须要把调试信息加到可执行文件中.使用编译器(cc/gcc/g++)的-g参数可以做到这一点,比如: gcc -g test.c -o test ...

  3. Makefile基础学习

    Makefile基础学习 理论知识 makefile关系到了整个工程的编译规则.一个工程中的源文件不计其数,并且按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文 ...

  4. 【转】Map 与 Unordered_map

    map和unordered_map的差别和使用 map和unordered_map的差别还不知道或者搞不清unordered_map和map是什么的,请见:http://blog.csdn.net/b ...

  5. go的数据库操作mysql

    go get github.com/go-sql-driver/mysql package main; import ( "database/sql" _ "github ...

  6. POJ3204 Ikki's Story I - Road Reconstruction

    Ikki's Story I - Road Reconstruction Time Limit: 2000MS   Memory Limit: 131072K Total Submissions: 7 ...

  7. ReactNative学习笔记(二)基础进阶

    一个最简单的HelloWorld页面 先不多解释,直接上代码: import React, { Component } from 'react'; import {AppRegistry, Style ...

  8. [转]kaldi中的在线识别----Online Recognizers

    转自: http://blog.csdn.net/wbgxx333/article/details/24932533 本文是kaldi学习联盟中@冒顿翻译的,下面是@冒顿的翻译结果,在这里感谢@冒顿的 ...

  9. SpringDataSolr 过滤(或者叫筛选)查询

    // 被本类调用 private Map searchList(Map searchMap) { // 1.1关键字查询 SimpleHighlightQuery highlightQuery = n ...

  10. [git] 文件操作

    文件操作 1.  git  add 1.1 将未被git管理的文件添加到暂存区 一次可添加多个文件 文件夹,中间用空格隔开 git  add  文件/文件夹  文件/文件夹 再次执行 git  sta ...