Supongo que solo quiere encontrar un valor específico y rastrear su origen. Y todo esto, quieres hacerlo en el momento de la depuración. Sugeriría dos opciones.
Option1 Uso JSON - serializar el objeto de cadena JSON y hacer una búsqueda de texto manual en el resultado. Necesitarás json.jar (o cualquier otro analizador) para esto.
try {
System.out.println(new JSONObject(new YourHugeObject()).toString(5));
} catch (JSONException e) {
log(e);
}
Que producirá algo como esto. (He simulado mediante la creación de un objeto con algunos campos anidados, listas, mapas)
{
"ct": {
"a": 1,
"b": "sdf",
"f": 12,
"nested": {
"key1": {
"kk": "kk",
"ssdf": 123
},
"onemorekey": {
"kk": "kk",
"ssdf": 123
}
}
},
"doubleProp": 12.2,
"lngprop": 1232323,
"strProp": "123",
"stringlist": [
"String1",
"String2",
"String3"
]
}
Option2 Convert/serializar el objeto a XML. Use XStream para esto, que será el más fácil de todos los analizadores disponibles. Con sólo dos líneas de código,
XStream stream = new XStream();
System.out.println(stream.toXML(new YourHugeObject()));
que producirá,
<com.kmg.jsontools.test.JSTest>
<stringlist>
<string>String1</string>
<string>String2</string>
<string>String3</string>
</stringlist>
<strProp>123</strProp>
<doubleProp>12.2</doubleProp>
<lngprop>1232323</lngprop>
<ct>
<a>1</a>
<b>sdf</b>
<f>12.0</f>
<nested>
<entry>
<string>key1</string>
<com.kmg.jsontools.test.Type1>
<kk>kk</kk>
<ssdf>123</ssdf>
</com.kmg.jsontools.test.Type1>
</entry>
<entry>
<string>onemorekey</string>
<com.kmg.jsontools.test.Type1>
<kk>kk</kk>
<ssdf>123</ssdf>
</com.kmg.jsontools.test.Type1>
</entry>
</nested>
</ct>
</com.kmg.jsontools.test.JSTest>
Cualquiera de los enfoques anteriores, se puede imprimir el resultado a la consola o en un archivo e inspeccionar manualmente. Como alternativa, también puede usar la reflexión, en cuyo caso también deberá escribir una gran cantidad de código y una gran cantidad de tiempo para probarlo.
ver si ayuda: http://stackoverflow.com/questions/301536/what-is-the-java-equivalent-of-php-var- volcado –
Parece que necesita refactorizar y rediseñar este objeto. – Oded
Como usted está preguntando aquí, supongo que la respuesta "pregunte al inventor" ya se ha llevado a cabo o es imposible. – Carl