/ / Java JsonObject vynechávajú polia pri prevode objektu na Json - java, json

Java JsonObject chýba poľa pri konvertovaní objektu na Json - java, json

V java-json.jar sa snažím previesť objekt na json. Môj problém je, že mám jeden zoznam polí, ktorý je nastavený v objekte, ale keď ho prevediem na json, nezobrazí sa zoznam v Json.

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

Keď som ladil, videl som, že zoznam je nastavený v objekte facebook. Zaujímalo by ma, prečo sa to stane

odpovede:

1 pre odpoveď č. 1

Tvoj objekt facebook potrebuje getter pre každé pole. Prezrite si dokumentáciu:

verejné JSONObject (java.lang.Object bean)

Zostavte JSONObject z objekt pomocou fazulegetry. Odráža všetky verejné metódy objektu. Pre každú z metód bez parametrov a názvu začínajúce na "get" alebo "je", za ktorým nasleduje veľké písmeno, je vyvolaná metóda a kľúč a hodnota vrátená z getteru metóda sa vloží do nového JSONObject. Kľúč sa vytvorí odstránením "get" alebo "je" predpona. Ak druhý zostávajúci znak nie je veľké písmená, potom sa prvý znak prevedie na malé písmená. pre príklad, ak má objekt metódu s názvom „getName“ a ak je výsledok volania object.getName () je „Larry Fine“, potom bude JSONObject obsahujú „name“: „Larry Fine“.

Môžete použiť aj iného konštruktoraJSONObjekt, zadaním názvu poľa v prípade, že je toto pole prístupné z miesta, kde chcete vytvoriť JSON (pozor, môže to narušiť zapuzdrenie):

verejný objekt JSONObject (java.lang.Object objekt, java.lang.String [] mená)

Zostavte JSONObject z objektu pomocouúvahy o nájdení členov verejnosti. výsledné kľúče JSONObject budú reťazce z poľa mien, a hodnoty budú hodnoty polí priradených k týmto kľúčom v systéme objekt. Ak kľúč nie je nájdený alebo nie je viditeľný, nebude skopírovaný do nového JSONObject.