2014-11-05 18 views
24

Bana bir json nesnesi gönderen bir C# programım var. POST verilerini yakalamak için bir Java Play web sitesi yapıyorum. JsonNode nesnesi olarak doğru verileri alıyorum ancak Map'a dönüştürmeniz gerekiyor. Şimdi ben böylece bir Map dönüştürmek nasıl anlamaya ihtiyacımız nesne var olduğuJsonNode nesnesini Map konumuna dönüştürün

public static Result index() { 
    JsonNode json = request().body().asJson(); 
} 

: Ben com.fasterxml.jackson.databind.JsonNode İşte

kullanıyorum

Ben doğru JsonNode nesneyi yakalamak nerede Bunun üzerinde biraz büyü yapabilirim. Daha sonra, yanıtta gönderilmek üzere Map'u bir json nesnesine dönüştürmek istiyorum.

Dokümanlara bakıyorum, ancak mevcut yöntemler çözüm olarak çığlık atmıyor. http://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.html

cevap

62

İşte cevabı kendim bulmaya çalışan var: Burada

Ben bu özel JsonNode nesne için başvuran oldum dokümandır. Biraz daha derine kazılmış ve biraz cevap

here bulundu Temelde sadece sizin için değerini dönüştürmek için ObjectMapper kullanın:

ObjectMapper mapper = new ObjectMapper(); 
Map<String, Object> result = mapper.convertValue(jsonNode, Map.class); 
+0

O Harita arada gereğidir. – Espinosa

+3

Düzeltme, burası Harita . Değer String, Integer, olabilir. – Espinosa

+0

Gerçekten, cevabımı güncelledi. Teşekkürler. – mhogerheijde