/ / Java JsonObject pierde los campos al convertir un objeto a Json - java, json

Java JsonObject pierde los campos cuando convierte un objeto a Json - java, json

En java-json.jar intento convertir el objeto a json. Mi problema es que tengo una lista de arrays que está establecida en Objeto, pero cuando la convierto en json, no muestra la lista en Json.

JSONObject facebookJson = new JSONObject(facebook);
user = facebookJson.toString();

Cuando depuro vi que la lista se establece en el objeto de facebook. Me pregunto por qué sucede esto

Respuestas

1 para la respuesta № 1

Tu objeto facebook Necesita un captador para cada campo. Echa un vistazo a la documentación:

JSONObject público (java.lang.Object bean)

Construye un objeto JSON desde un Objeto usando frijolcaptadores Refleja en todos los métodos públicos. del objeto. Para cada uno de los métodos sin parámetros y un nombre. comenzando con "get" o "is" seguido de una letra mayúscula, la se invoca el método, y una clave y el valor devuelto por el captador método se ponen en el nuevo objeto JSON. La clave se forma eliminando el prefijo "obtener" o "es". Si el segundo personaje restante no es mayúsculas, entonces el primer carácter se convierte a minúsculas. por ejemplo, si un objeto tiene un método llamado "getName", y si el resultado de llamar a object.getName () es "Larry Fine", entonces el JSONObject contienen "nombre": "Larry Fine".

También puede utilizar otro constructor de laJSONObject, pasándole el nombre del campo en caso de que se pueda acceder a este campo desde donde desea crear el JSON (cuidado aquí, puede romper la encapsulación):

objeto JSONObject público (objeto java.lang.Object, java.lang.String [] nombres)

Construye un objeto JSON desde un objeto, usandoReflexión para encontrar a los miembros públicos. los las claves de JSONObject resultantes serán las cadenas de la matriz de nombres, y los valores serán los valores de campo asociados con esas claves en el objeto. Si una clave no se encuentra o no es visible, entonces no será Copiado en el nuevo JSONObject.