黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Gson 樹模型

gson 樹模型

樹模型準(zhǔn)備 json 文檔的內(nèi)存樹表示。它構(gòu)建了一個(gè) jsonobject 節(jié)點(diǎn)樹。它是一種靈活的方法,類似于 xml 的 dom 解析器。

 

1. 從 json 創(chuàng)建樹

在讀取json之后,jsonparser提供指向樹的根節(jié)點(diǎn)的指針。根節(jié)點(diǎn)可用于遍歷完整的樹。請(qǐng)考慮以下代碼段以獲取提供的json字符串的根節(jié)點(diǎn)。

//create an jsonparser instance
jsonparser parser = new jsonparser();

string jsonstring =
"{\"name\":\"mahesh kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";

//create tree from json
jsonelement rootnode = parser.parse(jsonstring);

 

2. 遍歷樹模型

在遍歷樹并處理數(shù)據(jù)時(shí),使用到根節(jié)點(diǎn)的相對(duì)路徑獲取每個(gè)節(jié)點(diǎn)。以下代碼段顯示了如何遍歷樹。

jsonobject details = rootnode.getasjsonobject();

jsonelement namenode = details.get("name");
system.out.println("name: " +namenode.getasstring());

jsonelement agenode = details.get("age");
system.out.println("age: " + agenode.getasint());

 

3. 范例

在c:>gson_workspace中創(chuàng)建名為 gsontester 的java類文件。

文件:gsontester.java

import com.google.gson.jsonarray;
import com.google.gson.jsonelement;
import com.google.gson.jsonobject;
import com.google.gson.jsonparser;
import com.google.gson.jsonprimitive;  

public class gsontester {
   public static void main(string args[]) {
      string jsonstring =
         "{\"name\":\"mahesh kumar\", \"age\":21,\"verified\":false,\"marks\": [100,90,85]}";
      jsonparser parser = new jsonparser();  
      jsonelement rootnode = parser.parse(jsonstring);  

      if (rootnode.isjsonobject()) {
         jsonobject details = rootnode.getasjsonobject();  
         jsonelement namenode = details.get("name");
         system.out.println("name: " +namenode.getasstring());  

         jsonelement agenode = details.get("age");
         system.out.println("age: " + agenode.getasint());  

         jsonelement verifiednode = details.get("verified");
         system.out.println("verified: " + (verifiednode.getasboolean() ? "yes":"no"));  
         jsonarray marks = details.getasjsonarray("marks");

         for (int i = 0; i < marks.size(); i++) {
            jsonprimitive value = marks.get(i).getasjsonprimitive();
            system.out.print(value.getasint() + " ");  
         }
      }
   }   
}

 

4. 驗(yàn)證結(jié)果

使用 javac 編譯器編譯類如下:

c:\gson_workspace>javac gsontester.java

現(xiàn)在運(yùn)行 gsontester 查看結(jié)果:

c:\gson_workspace>java gsontester

驗(yàn)證輸出。

name: mahesh kumar
age: 21
verified: no
100 90 85

下一節(jié):gson流

gson 教程

相關(guān)文章