成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

操縱JsonObject的方法

開發 后端
Json對象是Name Value對(即子元素)的無序集合,相當于一個Map對象。JsonObject類是bantouyan-json庫對Json對象的抽象,提供操縱Json對象的各種方法。本文就介紹如何操縱JsonObject類。

Json對象是Name Value對(即子元素)的無序集合,相當于一個Map對象。JsonObject類是bantouyan-json庫對Json對象的抽象,提供操縱Json對象的各種方法。本文就介紹如何操縱JsonObject類。

一、創建JsonObject實例

創建JsonObject實例有兩類方法,一是利用超類Json的靜態方法parseJsonText、parseJsonReader與parseJavaMap獲取JsonObject實例,二是直接利用JsonObject類的構造方法創建JsonObject實例。

根據傳入的參數不同,parseJsonText返回一個JsonObject實例或JsonArray實例,利用parseJsonText方法的示例代碼如下:

Java代碼

 

 

  1. String jsonText = "{'name1': 'value1', 'name2': 'value2'}";     
  2. JsonObject jobj = (JsonObject)Json.parseJsonText(jsonText);    

 

parseJsonText返回的是一個Json類變量,所以要使用強制類型轉換。

parseJsonReader負責從Reader類型參數內讀取Json文本流,然后轉換為Json實例,與parseJsonText一樣,返回值需要強制類型轉換。

方法parseJavaMap直接返回JsonObject變量,不用類型轉換,示例代碼如下:

Java代碼

 

 

  1. HashMap map = new HashMap();     
  2. map.put("nameA""valueA");      
  3. map.put("nameB""valueB");      
  4. JsonObject jobj = Json.parseJavaMap(map);   

 

如果Map內有復雜的對象需要解析,可以用parseJavaMap的重載版本parseJavaMap(Map, JsonParser)來處理(JsonParser的使用參考解析Json——Json類的靜態方法的第五部分)。

JsonObject類的構造函數有四個重載版本:JsonObject()、JsonObject(int)、JsonObject(Map)與JsonObject(Map, JsonParser)。不帶參數與帶整型參數的重載版本都構造一個空的JsonObject實例,所不同的是帶整型參數的重載版本能夠指定JsonObject初始容量的大小,以避免不必要的重新分配內存。重載版本JsonObject(Map)與JsonObject(Map, JsonParser)的使用類似于Json類的靜態方法parseJavaMap。

二、給JsonObject添加子元素

給JsonObject實例添加子元素調用方法add或addAll。bantouyan-json庫規定,方法add與addAll都不能添加Name為null的子元素,也不能添加與已有子元素Name相同的子元素,否則會拋出異常。

方法add有七種重載版本,方法addAll有三種重載版本,分別使用于不同的情況。

三、變更JsonObject子元素的Value

要改變JsonObject子元素的Value可以調用方法set與setAll。這兩個方法都忽略Name為null的子元素,如果存在Name相同的子元素,則更改這個子元素的Value,否則添加一個新的子元素。

方法set也有七種重載版本,addAll有三種重載版本,分別適用于不同的情況。

四、獲取與檢測JsonObject子元素

JsonObject的每個子元素的Value都是一個Json實例,可以用方法get(String)獲取這個實例。至于這個實例的類型,除可以調用方法getType()獲得外,還可以通過JsonObject對方法getType的重載版本getType(String)獲取(String為子元素的Name)。

利用方法getString(String)可以獲取指定Name的子元素Value的字符串值,如果子元素的Value是JsonPrimitive實例,則返回這個實例值對應的字符串(不帶引號與轉義符),否則返回對應的標準Json文本。

如果想獲取子元素的Value所對應的boolean、double、long、JsonArray與JsonObject類型的值,則可以分別調用方法getBoolean(String)、getDouble(String)、getLong(String)、getJsonArray(String)與getJsonObject(String)。與getString方法不一樣的是當子元素的Value無法轉換為相應的類型時會拋出異常。方法canToBoolean(String)、canToDouble(String)、canToLong(String)、canToJsonArray(String)與canToJsonObject(String)可以檢測是否可以轉換為對應的類型。

以特定的類型獲取子元素的Value時,方法canToXXX返回true并不表明子元素的Value就是所測試的類型。根據bantouyan-json庫設計,如果子元素的Value的類型是INTEGER,則可以得到對應的double類型的值,如果類型時String,對于部分Value,可以得到對應的boolean、long、double類型的值。

五、確定JsonObject子元素是否存在

在獲取子元素前可能無法確定JsonObject是否包含指定Name的子元素,要確定子元素存在,請調用方法containsName(String)。

六、刪除JsonObject子元素

刪除JsonObject的子元素調用方法remove(String),參數為要刪除的子元素的Name。

七、獲取JsonObject子元素相關的集合

與Map一樣,JsonObject也是由無序的Name Value對構成,為此,JsonObject實現了三個方法用于獲取子元素相關的集合。

entrySet(),返回由子元素的Name Value對構成的集合。

nameSet(),返回由子元素的Name構成的集合。

values(),返回由子元素的Value構成的集合。

【編輯推薦】

  1. JSON數據在J2ME下的構造和解析
  2. 深入了解J2ME Polish+Eclipse配置過程
  3. 探究J2ME中cookie庫的管理
  4. 術語匯編 J2ME 3D技術簡介
  5. 解析Linux下如何用eclipse搭建J2ME開發環境
責任編輯:金賀 來源: JavaEye博客
相關推薦

2010-12-22 11:19:09

Java字節代碼

2020-05-14 09:42:15

數據操縱網絡阻擊數據泄露

2022-06-06 14:56:03

機器人算法模型

2012-02-08 14:24:35

HibernateJava

2014-10-09 09:34:38

ATM惡意軟件Tyupkin

2020-10-31 21:47:06

Python數據結構開發

2009-08-06 18:10:06

C#數據庫事務

2013-07-10 09:26:27

亞馬遜Web服務云計算創新云計算市場情況

2009-09-03 16:17:12

C#操縱系統菜單

2021-07-08 15:48:51

僵尸網絡IoTDDoS攻擊

2025-02-20 14:34:18

2011-03-04 11:08:46

ADO.NET數據庫

2021-09-13 07:23:53

KafkaGo語言

2012-12-31 10:15:15

2020-09-28 13:57:35

惡意軟件黑客網絡攻擊

2021-06-15 09:10:41

漏洞網絡安全程序員

2018-10-09 10:35:00

2009-11-11 16:15:04

ADO.NET操縱數據

2024-11-01 14:56:09

2022-07-11 09:33:17

AI腦機接口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 粉嫩一区二区三区四区公司1 | 伊人免费视频二 | 一区欧美 | 亚洲欧美日韩精品久久亚洲区 | 一区二区三区国产精品 | 成年免费大片黄在线观看岛国 | 国产欧美性成人精品午夜 | 一区二区三区高清 | 日韩欧美在线一区二区 | 99福利 | 毛片在线看片 | 欧美精品免费观看二区 | 天天操操 | 三级av在线 | 亚洲欧美一区二区三区国产精品 | 国产主播第一页 | 婷婷综合色 | 一级毛片成人免费看a | 一区二区三区四区国产 | 国产福利视频 | 成人午夜免费在线视频 | 国产一区二区三区视频在线观看 | 二区三区视频 | 午夜在线 | 亚洲成a人片 | 黄色一级大片在线免费看产 | 能免费看的av | 成年精品 | 成人欧美一区二区三区在线观看 | 国产精品美女久久久免费 | 国产欧美在线观看 | 国产999精品久久久久久绿帽 | 9999国产精品欧美久久久久久 | 午夜免费精品视频 | 99草免费视频 | 日韩一区二区三区视频在线播放 | 亚洲网在线| a毛片| 亚洲精选久久 | 天天澡天天狠天天天做 | 午夜小视频免费观看 |