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 № 1Twó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.