4
我在它與這個JSON一個JsonNode重命名:如何將現場的JsonNode使用傑克遜API
{"temperature":17,"long":200,"lat":100}
我想改變JsonNode看起來像這樣
{"MyNewFieldName":17,"long":200,"lat":100}
是它可能使用Jackson API?
我在它與這個JSON一個JsonNode重命名:如何將現場的JsonNode使用傑克遜API
{"temperature":17,"long":200,"lat":100}
我想改變JsonNode看起來像這樣
{"MyNewFieldName":17,"long":200,"lat":100}
是它可能使用Jackson API?
您將無法重命名鍵值JSON對中的鍵。你需要做的是創建一個新的鍵值對,它們具有相同的值,但使用不同的鍵並刪除舊鍵。
JsonNode node = ...;
ObjectNode object = (ObjectNode) node;
object.set("MyNewFieldName", new TextNode(node.get("temperature").asText()));
object.remove("temperature");
感謝您的想法:),但我得到這個錯誤的方法集(字符串,TextNode)是未定義ObjectNode – hich
@ user3330322我使用的是傑克遜2.你的類型?目標方法是['ObjectNode#set(String,JsonNode)'](http://fasterxml.github.io/jackson-databind/javadoc/2.3.0/com/fasterxml/jackson/databind/node/ObjectNode.html #設置%28java.lang.String,%20com.fasterxml.jackson.databind.JsonNode%29)。如果您正在使用的傑克遜版本中不存在這樣的方法,則可能有類似的情況。 –
我覺得我使用傑克遜1.9,以及有一個put(String,JsonNode)方法,我認爲它做同樣的事情。非常感謝。 – hich