0
Ich versuche, eine tiefe Kopie einer JSON-Map in groovy für ein Build-Config-Skript zu erstellen.Groovy tiefe Kopie JSON Karte
Ich habe die gewählte Antwort versuche
def deepcopy(orig) {
bos = new ByteArrayOutputStream()
oos = new ObjectOutputStream(bos)
oos.writeObject(orig); oos.flush()
bin = new ByteArrayInputStream(bos.toByteArray())
ois = new ObjectInputStream(bin)
return ois.readObject()
}
von this existing question aber es funktioniert nicht für JSON Karten mit java.io.NotSerializableException: groovy.json.internal.LazyMap
wie kann ich eine tiefe Kopie der JSON Karte erstellen?
Ich denke, wenn Sie können, sollten Sie ein wenig weiter sichern. Der 'JsonSlurper' in der Groovy-API generiert diese' LazyMap'-Instanzen, die sich mit verschiedenen Aspekten der Unternehmensentwicklung, insbesondere mit den Anforderungen für die Serialisierbarkeit von Beer (wie Sie feststellen), schwer tun. Wenn Sie zu 'JsonServerClassic' wechseln können, das regelmäßige Groovy/Java' LinkedHashMap'-Instanzen generiert, sollte Ihr "NotSerializable" -Problem verschwinden. – BalRog