Estoy buscando una manera de transformar un valor durante el análisis.
Tengo contenido codificado en base64 dentro de una cadena con formato json con claves dinámicas.
{ "key0": "irrelevant", "key1": "VXNlbGVzcyBiYXNlNjQgY29udGVudA==", "key2": "QW5vdGhlciBVc2VsZXNzIGJhc2U2NCBjb250ZW50", "key3": { "key4": "b25lIG1vcmUgVXNlbGVzcyBiYXNlNjQgY29udGVudA==", "key5": "irrelevant", "key6": { "key7": "b25lIG1vcmUgdXNlbGVzcyBiYXNlNjQgc3RyaW5n", "key8": "dXNlbGVzcyBiYXNlNjQgc3RyaW5n", "key9": "TGFzdCB1c2VsZXNzIGJhc2U2NCBzdHJpbmcsIGJ1dCB0aGVyZSBjb3VsZCBiZSBtb3Jl" } } }Me gustaría reemplazar el contenido base64 con una cadena y terminar con algo como esto:
{ "key0": "irrelevant", "key1": "replaced base64", "key2": "replaced base64", "key3": { "key4": "replaced base64", "key5": "irrelevant", "key6": { "key7": "replaced base64", "key8": "replaced base64", "key9": "replaced base64" } } }El método JSON.parse de Javascript tiene el concepto de una función revive. Soy consciente de que un "reviver" es un concepto de Javascript, sin embargo, estoy buscando algo similar en Java. Aquí hay un ejemplo de cómo funciona en Javascript.
Actualmente estoy usando Gson para analizar la cadena en JsonElement.
NB: no tengo ninguna información sobre el tipo de clase para esta cadena json.
Sé que potencialmente podría analizar la cadena en JsonObject y luego posiblemente verificar estas cadenas recursivamente después.
Sin embargo, si alguien sabe de alguna manera en que puedo hacer esto durante el análisis, por favor ayúdeme.