2012-07-16 30 views
39

ben yeni değerlerle bu yeni düğüm inşa böylece nasıl Sonra içinde anahtar değer çiftleri eklerim, bu düğümleJsonNode'da yeni düğümler nasıl oluşturulur?

JsonNode jNode = new ObjectCodec().createObjectNode(); 

oluşturulan yeni JsonNode var? Ben http://www.cowtowncoder.com/blog/archives/2011/08/entry_460.html okuduklarım gibi herhangi bir yöntem göstermez

jNode.with("newNode").put("key1","value1"); 

kullanarak Fakat Jackson'un JsonNode (v1.8) için API'leri bakarak değindi. bölünme en JsonNode içerdiği okuma işlemleri şekildedir fakat ObjectNode ve ArrayNode mutasyonlar:

cevap

55

Bu yöntemler ObjectNode içindedir. Sadece ilk satırı değiştirebilir

Not olmak:

ObjectNode jNode = mapper.createObjectNode(); 
// version ObjectMapper has should return ObjectNode type 

veya

ObjectNode jNode = (ObjectNode) objectCodec.createObjectNode(); 
// ObjectCodec is in core part, must be of type JsonNode so need cast 
+7

Bu StaxMan için teşekkürler. Yerleştirmeyi unuttuğum bir takip sorusu, bu düğümü daha sonra var olan bir düğüme nasıl ekleyebilirim? –

+0

Genellikle, "ObjectNode" veya "ArrayNode" yöntemini kullanarak çocukları eklersiniz; mapper sadece kök düğümleri oluşturmak için kullanılır. Yani 'ObjectNode' /' ArrayNode' '' putObject' yöntemini kontrol edin ' – StaxMan

43

Geçenlerde herhangi ValueNode veya ContainerNode (Jackson v2.3 oluşturmak için daha da ilginç yolu buldum).

ObjectNode node = JsonNodeFactory.instance.objectNode(); 
+6

Bu konuda bir sorun yok. Bu, tekil örnek – cesar

+0

Yep için var, ancak bir sebepten dolayı değişken bir başvuru yerine bir örnek yöntemini özlüyorum – deFreitas

İlgili konular