2016-06-14 6 views
0

sagen, dass ich ein paar Strings in json-FormatConcatenate json Strings in JSON-Objekt in Java

1. {"Name": Bob"} 
2. {"Age" : 14} 
3. {"address": "221 Baker street"} 

Gibt es eine Möglichkeit haben, ich die json Strings verketten kann und ein JSON-Objekt am Ende schaffen? das heißt

output -> {"Name": "Bob", "Age": 14, "Address": "221 Baker Street"} 

Ich weiß, dass ich jede Zeichenfolge analysieren kann und die „}“ mit einem Komma ersetzen und das funktionieren würde, aber ich frage mich, ob es eine integrierte Art und Weise war, dies zu tun

Thank you!

+0

Was soll das Verhalten sein, wenn Sie verschmelzenden '{ "Name": "Bob"}' und '[10]'? –

+0

Alle hereinkommenden JSON-String-Objekte sollten vom Format Schlüssel: Wert-Paar sein. (Dafür gibt es vorher einen Check). – Akshay

+0

Android verfügt über eine (primitive) integrierte JSON-Bibliothek. Wenn Sie jedoch Java verwenden, müssen Sie [eine JSON-Bibliothek importieren] (http://stackoverflow.com/questions/2591098/how-to- parse-json-in-java). – shmosel

Antwort

1

Wenn Sie Jackson auf Ihrem Classpath haben,

ObjectMapper mapper = new ObjectMapper(); 
Map<Object, Object> result = new HashMap<>(); 
result.putAll(mapper.readValue("{\"Name\": \"Bob\"}", Map.class)); 
result.putAll(mapper.readValue("{\"Age\": 14}", Map.class)); 
result.putAll(mapper.readValue("{\"address\": \"221 Baker street\"}", Map.class)); 
String concatenated = mapper.writeValueAsString(result);