在處理Java中的JSON數據時,我們可能需要向現有JSON數據中追加新數據,這時候就需要使用Java中的JSON庫來實現。
目前比較常用的JSON庫有jackson和Gson,其中jackson是多數情況下的首選。下文將以jackson作為JSON庫來進行演示。
首先,我們需要將JSON數據讀入到一個Java對象中,并將該對象轉化為JSON節點。假設我們想向以下JSON數據中追加一個名為“Mary”、年齡為20歲、性別為女的人:
{ "people": [ { "name": "Bob", "age": 25, "gender": "Male" }, { "name": "Alice", "age": 30, "gender": "Female" } ] }
我們可以先將該JSON數據讀入到一個JsonNode對象中:
//讀取JSON數據 ObjectMapper mapper = new ObjectMapper(); JsonNode rootNode = mapper.readTree(jsonStr);
其中,jsonStr是上述JSON數據的字符串形式。
為了方便我們找到要追加數據的位置,我們可以先找到“people”節點:
//找到“people”節點 JsonNode peopleNode = rootNode.path("people");
接下來,我們可以創建一個新的JSON節點,并設置其屬性:
//創建新節點 ObjectNode newNode = mapper.createObjectNode(); newNode.put("name", "Mary"); newNode.put("age", 20); newNode.put("gender", "Female");
最后,我們將新節點插入到“people”節點中:
//將新節點插入到“people”節點中 ArrayNode peopleArrayNode = (ArrayNode)peopleNode; peopleArrayNode.add(newNode);
這樣,我們就成功地向JSON數據中追加了新數據。