zoukankan      html  css  js  c++  java
  • JAVA如何解析多层json数据

    1. 使用标准的Json对象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然后通过get(keyString)逐个解析 
    2. 构造一个类MyObject,根据你提出的问题,其中添加 String name,List<MyObject> child, 两个属性,增加getter setter 方法,通过com.google.gson.Gson进行解析。步骤如下: 
    String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}"; 
    Gson gson = new Gson(); 
    MyObject obj = gson.fromJson(jsonStr,MyObject.class); 

     1 import java.util.List;
     2 
     3 import com.google.gson.Gson;
     4 
     5 public class MyObject {
     6     String name;
     7     List<MyObject> child;
     8     public String getName() {
     9         return name;
    10     }
    11     public void setName(String name) {
    12         this.name = name;
    13     }
    14     public List<MyObject> getChild() {
    15         return child;
    16     }
    17     public void setChild(List<MyObject> child) {
    18         this.child = child;
    19     }
    20     
    21     public static void main(String[] args) {
    22          String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
    23          Gson gson = new Gson();
    24          MyObject obj = gson.fromJson(jsonStr,MyObject.class);
    25          System.out.println(obj.getChild().get(0).getName()); // --222
    26          System.out.println(obj.getChild().get(1).getName()); // --222
    27          System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
    28     }
    29 }

    引自http://www.iteye.com/problems/88002  flashsnow 的回答,非常感谢

    没有去尝试,那么连后悔的资格都没有
  • 相关阅读:
    python技巧
    tikz vfill vfil
    知之为知之,不知为不知
    newPost
    欢迎使用 WordPress 3.2.1 for SAE
    校正oracle,mysql,hive,postgresql,greenplum 记录数分析命令
    Hive 分区表&分区字段
    oracle 建表、主键、分区
    使用TortoiseSVN 客户端的一些问题
    jquery bankInput银行卡账号格式化
  • 原文地址:https://www.cnblogs.com/li-yongjie/p/5347971.html
Copyright © 2011-2022 走看看