91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么實現動態的增刪改查屬性

發布時間:2021-07-02 15:06:38 來源:億速云 閱讀:516 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關Java中怎么實現動態的增刪改查屬性,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

 JSON 字符串增加額外字段

假如我們有這樣結構的 JSON:

{     "username":"felord.cn",     "age":18 }

期望增加一個性別字段gender:

{     "username": "felord.cn",     "age": 18,     "gender": "male" }

首先使用ObjectMapper加載 JSON 字符串,為ObjectNode:

ObjectNode jsonNodes = objectMapper.readValue(json, ObjectNode.class);

ObjectNode提供了很多操作 JSON 屬性的方法:

  • get 根據索引或者字段名獲取對應的JsonNode。

  • put 系列方法 提供了將基本類型、null值、對象、數組、原始值添加到 JSON 的能力。

正好我們可以借助于put方法來完成額外新增字段,完整的代碼片段:

String json = "{\n" +         "    \"username\":\"felord.cn\",\n" +         "    \"age\":18\n" +         "}";  ObjectMapper objectMapper = new ObjectMapper();  ObjectNode jsonNodes = objectMapper.readValue(json, ObjectNode.class); jsonNodes.put("gender", "male"); String newJson = objectMapper.writeValueAsString(jsonNodes); // newJson = {"username":"felord.cn","age":18,"gender":"male"}

3. 對象轉 JSON 時新增字段

有時候我們定義的對象沒有包含特定的字段,但是轉成 JSON 時同樣需要有額外的字段。跟章節 2類似,,只不過提供的不再是 JSON 字符串而是 Java  對象:

/**  * @author felord.cn  * @since 11:02  */ @Data public class User {     private String username;     private Integer age; }

其實思路很明確,只要我們能夠將對象轉換為ObjectNode就可以如法炮制。ObjectMapper提供了valueToTree方法可以實現這一點,所以對象轉  JSON 時新增字段完整的 DEMO 為:

User user = new User(); user.setUsername("felord.cn"); user.setAge(18);  ObjectMapper objectMapper = new ObjectMapper(); ObjectNode jsonNodes = objectMapper.valueToTree(user); jsonNodes.put("gender", "male"); String newJson = objectMapper.writeValueAsString(jsonNodes); // newJson = {"username":"felord.cn","age":18,"gender":"male"}

4. 移除屬性

無論是 JSON 字符串或者 Java 對象轉 JSON 時,移除屬性跟上面的思路一樣,只需要調用remove方法即可,這里不再演示。

5. 擴展

上面的所有操作都是借助于了Jackson中的JsonNode派生的 JSON 節點類完成的,關系如下:

Java中怎么實現動態的增刪改查屬性

關于Java中怎么實現動態的增刪改查屬性就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

揭西县| 龙胜| 东兴市| 平阴县| 颍上县| 黄浦区| 龙井市| 旺苍县| 磐石市| 井研县| 宁南县| 海宁市| 京山县| 山阴县| 二连浩特市| 榆中县| 广德县| 林州市| 尼木县| 清水县| 永善县| 萨迦县| 楚雄市| 靖边县| 和田市| 黔南| 瓮安县| 九寨沟县| 兴国县| 锦州市| 堆龙德庆县| 莱芜市| 盘锦市| 天峨县| 灵寿县| 扶沟县| 达日县| 鱼台县| 崇礼县| 漠河县| 横峰县|