/ / Java JsonObject pomija pola podczas konwersji obiektu na Json - java, json

Java JsonObject omija pola, gdy konwertuje obiekt do Json - java, json

W java-json.jar próbuję przekonwertować obiekt na json. Mój problem polega na tym, że mam jedną listę tablic ustawioną w Object, ale kiedy przekonwertuję to na Json, nie wyświetla listy w Json.

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

Kiedy debugowałem, zobaczyłem, że ta lista jest ustawiona w obiekcie Facebook. Zastanawiam się, dlaczego tak się dzieje

Odpowiedzi:

1 dla odpowiedzi № 1

Twój obiekt facebook potrzebuje gettera dla każdego pola. Zajrzyj do dokumentacji:

public JSONObject (java.lang.Object bean)

Skonstruuj obiekt JSONObject z Obiekt używający fasoligetters. Odzwierciedla wszystkie metody publiczne obiektu. Dla każdej metody bez parametrów i nazwy zaczynające się od „get” lub „is”, po których następuje wielka litera, wywoływana jest metoda, a klucz i wartość zwracane z gettera metody są umieszczane w nowym JSONObject. Klucz jest tworzony przez usunięcie prefiks „get” lub „is”. Jeśli drugi pozostały znak nie jest wielkie litery, a następnie pierwszy znak jest konwertowany na małe litery. Dla na przykład, jeśli obiekt ma metodę o nazwie „getName” i jeśli wynik wywołania object.getName () to „Larry Fine”, a następnie JSONObject zawierają „name”: „Larry Fine”.

Możesz także użyć innego konstruktoraJSONObject, przekazując mu nazwę pola, na wypadek gdyby to pole było dostępne z miejsca, w którym chcesz utworzyć JSON (uważaj, ponieważ może to spowodować uszkodzenie enkapsulacji):

publiczny obiekt JSONObject (java.lang.Object, nazwy java.lang.String [])

Skonstruuj JSONObject z obiektu, używającrefleksja w celu znalezienia członków publicznych. The wynikowe klucze JSONObject będą ciągami z tablicy nazw, a wartości będą wartościami pól powiązanymi z tymi kluczami w obiekt. Jeśli klucz nie zostanie znaleziony lub nie będzie widoczny, wówczas nie będzie skopiowane do nowego JSONObject.