亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

梁山县| 云安县| 抚州市| 平原县| 芒康县| 潼南县| 塔河县| 太原市| 德令哈市| 信阳市| 伊川县| 四平市| 保山市| 招远市| 隆昌县| 张家口市| 洛隆县| 海淀区| 金湖县| 佛冈县| 定西市| 府谷县| 长海县| 都昌县| 宿迁市| 海阳市| 和林格尔县| 武平县| 莆田市| 平定县| 富川| 海南省| 建宁县| 平罗县| 绵竹市| 启东市| 九龙城区| 耒阳市| 深州市| 榆中县| 德保县|