程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> JAVA如何解析多層json數據

JAVA如何解析多層json數據

編輯:JAVA編程入門知識

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); 

 import java.util.List;
 
 import com.google.gson.Gson;
 
 public class MyObject {
     String name;
     List<MyObject> child;
     public String getName() {
         return name;
     }
     public void setName(String name) {
         this.name = name;
     }
     public List<MyObject> getChild() {
         return child;
     }
     public void setChild(List<MyObject> child) {
         this.child = child;
     }
     
     public static void main(String[] args) {
          String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
          Gson gson = new Gson();
          MyObject obj = gson.fromJson(jsonStr,MyObject.class);
          System.out.println(obj.getChild().get(0).getName()); // --222
          System.out.println(obj.getChild().get(1).getName()); // --222
          System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
     }
 }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved