程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java-->Gson解析相較於Json,gsonjson

Java-->Gson解析相較於Json,gsonjson

編輯:JAVA綜合教程

Java-->Gson解析相較於Json,gsonjson


--> Gson解析jar包:  鏈接:http://pan.baidu.com/s/1slCeq77 密碼:f9ig

--> 官方Json解析工具類:

 1 package com.dragon.java.jsonwebdata;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import org.json.JSONArray;
 7 import org.json.JSONException;
 8 import org.json.JSONObject;
 9 
10 /**
11  * Json解析的工具類
12  * 
13  * @author Auser
14  * 
15  */
16 public class JsonUtil {
17     /**
18      * 官方解析方法 --> 不管多復雜都可以解析,但是非常復雜!!!
19      * 
20      * @param json
21      */
22     public static void jsonParse(String json) {
23         List<Detail> details = new ArrayList<>();
24         try {
25             JSONObject object = new JSONObject(json);
26             if (object.getString("status").equals("000000")) {
27                 if (object.getString("desc").equals("null")) {
28                     details = JSONArray(details, object);
29                     for (Detail detail : details) {
30                         System.out.println(detail);
31                     }
32                 }
33             }
34         } catch (JSONException e) {
35             e.printStackTrace();
36         }
37     }
38 
39     /**
40      * Json數組
41      * 
42      * @param details
43      * @param object
44      * @return List<Detail>
45      * @throws JSONException
46      */
47     private static List<Detail> JSONArray(List<Detail> details,
48             JSONObject object) throws JSONException {
49         JSONArray array = object.getJSONArray("detail");
50         for (int i = 0; i < array.length(); i++) {
51             JSONObject object2 = array.getJSONObject(i);
52             int id = object2.getInt("id");
53             int xhid = object2.getInt("xhid");
54             String author = object2.getString("author");
55             String content = object2.getString("content");
56             String picUrl = object2.getString("picUrl");
57             String status = object2.getString("status");
58             Detail detail = new Detail(id, xhid, author, content, picUrl,
59                     status);
60             details.add(detail);
61         }
62         return details;
63     }
64 }

--> Gson解析工具類:

--> 需要一個Data類 包括:

private String status;
private String desc;
private List<Detail> detail;

且必須有無參構造方法和屬性的getter、setter方法

 1 package com.dragon.java.gsonwebdata;
 2 
 3 import java.util.List;
 4 
 5 import com.dragon.java.jsonwebdata.Detail;
 6 import com.google.gson.Gson;
 7 
 8 /*
 9  * Gson解析的工具類
10  */
11 public class GsonUtil {
12 
13     /**
14      * Gson解析
15      * 
16      * @param json
17      */
18     public static void gsonParse(String json) {
19         Gson gson = new Gson();
20         Info info = gson.fromJson(json, Info.class);
21         List<Detail> detail = info.getDetail();
22         if (info.getStatus().equals("000000")) {
23             if (info.getDesc() == null) {
24                 for (Detail detail2 : detail) {
25                     System.out.println(detail2);
26                 }
27             }
28         }
29     }
30 }

--> 有Gson解析誰還用官方的解析方法啊...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved