Wie ändern JSON in groovy
Benutze ich JsonBuilder zu bauen, ein JSONObject/String.
Aber, wie kann ich aktualisieren/ändern Wert eines Felds in diesem JSONObject/String?
Ich bin nicht zu sehen, die Möglichkeit, dies zu tun, verwenden JsonBuilder. Was zeige ich dann verwenden?
- JsonSlurper?
- Das wird erst wieder eine Karte. Meinst du das update der Karte und wieder zurück konvertieren zu json?
- Ja. JsonSlurper zum Lesen der json in eine Karte. Ändern Sie es, und schreiben Sie die geänderte Karte wieder zu json mit JsonBuilder
- Ja, das wird funktionieren. Aber, ich bevorzuge die änderung der JsonBuilder direkt. Die JsonBuilder Rückkehr eine Karte selbst. aber, diese Karte kann ich nur die ersten level-Eigenschaften. Für komplexe Eigenschaften, ich bin nicht in der Lage zu erhalten die Wert.
- So wollen Sie zum ändern der Eigenschaft der Karte codiert als Json-String ohne das Parsen der Zeichenfolge?
- Hinzugefügt eine Antwort, die zeigt, wie es zu tun, aber es ist wahrscheinlich besser, um Ihre Daten vor der übergabe an JsonBuilder, wenn überhaupt möglich (für die Zukunftssicherheit)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie haben ändern Sie die Inhalte, die Sie bereits in der JsonBuilder, dann könnten Sie tun:
Aber als
content
ist nicht explizit exportiert aus dem Objekt, würde ich nenne dies ein Nebeneffekt und würde nicht verlassen sich auf Sie arbeiten in zukünftigen Versionen von Groovy.Besser, bekommen Sie Ihre Karte, bevor Sie übergeben es an
JsonBuilder
oder wenn das nicht möglich, ich denke, Sie brauchen, um den Json-string Parsen mitJsonSlurper
ändern Sie die daraus resultierenden Anzeigen und erstellen von Json mitJsonBuilder
wieder.