亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

導航到特定的 JSON 節點并使用 ObjectMapper

導航到特定的 JSON 節點并使用 ObjectMapper

明月笑刀無情 2023-07-28 16:13:45
我想使用 Jackson 導航到特定的 JSON,然后通過 ObjectMapper 發送值。如果 JSON 只是一個像這樣的簡單數組,我目前可以實現此目的:[    {        "parent": "A",        "child": "B"    },{        "parent": "G",        "child": "K"    }]我的 Java 代碼如下所示并且可以運行。ObjectMapper mapper = new ObjectMapper();Row[] row;row = mapper.readValue(json, Row[].class);但是當 JSON 更加嵌套時,如下所示:{    "data": [        {            "parent": "A",            "child": "B"        },{            "parent": "G",            "child": "K"        }    ]}我不確定我需要做什么才能達到同樣的效果。該類Row只是一個標準類,具有父屬性和子屬性及其 getter 和 setter。那里沒什么特別的。
查看完整描述

2 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

您可以首先使用readTree()JSON 字符串的樹表示形式。然后使用 JSON 指針 ( RFC-6901 ) 導航到JsonNode您想要開始反序列化的字符串。之后,使用treeToValue()將樹反序列化為Row[]:


JsonNode rootNode = mapper.readTree(json);

JsonNode dataNode = rootNode.at("/data");

Row[] rows = mapper.treeToValue(dataNode, Row[].class);


查看完整回答
反對 回復 2023-07-28
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

你應該使用地圖。其中數據是映射中的鍵,對象列表是值。這是您的列表 [] 是值。在你的列表中你有一個對象。在java中......


     Map<String, List<Parents>> studentsParent = HashMap<>(); class Parent{ String parent; String child; parent(String parent, String child){

         this.parent = parent;

         this.child = child; } 

} List<Parents> parents = new ArrayList<>(); 

  studentsParent.put (data, Parents.add( Parent p = new Parent("A", "B"))); [

            {

                "parent": "A",

                "child": "B"

            },{

                "parent": "G",

                "child": "K"

            }

        ]


查看完整回答
反對 回復 2023-07-28
  • 2 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號