logo

Kaip konvertuoti eilutę į JSON objektą „Java“?

Šiais laikais labai įprasta gauti duomenis JSON eilutė formatu, o ne XML. Kai dirbame su JSON eilute Java, ji nekonvertuoja JSON eilutė į JSON objektas . Tačiau naudokite JSON eilutė visada nėra geras pasirinkimas, nes sunku su tuo susitvarkyti. Dėl technologijų kaitos ir paklausos mums reikia konvertuoti JSON eilutę į JSON objektą atgauti vertybes. Norėdami išspręsti šią problemą, yra keletas atvirojo kodo bibliotekų, kurios leidžia mums tai padaryti konvertuoti JSON eilutę į JSON objektą. Šiame skyriuje mes paaiškinome kaip konvertuoti JSON eilutę į JSON objektą išsamiai su pavyzdžiu. Prieš pereidami prie pagrindinės temos, pažvelkime į JSON formatą.

 jsonStringExample = { 'name' : 'Ronaldo', 'nickname' : 'Sam', 'id' : 312, 'age' : 21, 'height' : 163, 'lastOverScore' : [4, 1, 6, 6, 2, 1] } 

Aukščiau pateiktame JSON formate yra šeši atributai, iš kurių pirmieji du yra eilutės, kiti trys yra skaitiniai ir galiausiai JSON masyvas.

Konvertuokite JSON eilutę į JSON objektą

Yra šios trys bibliotekos, naudojamos konvertuoti eilutę į JSON objektą Java:

  • Naudojant Gson biblioteką
  • JSON paprastos bibliotekos naudojimas
  • Džeksono biblioteka

Gson bibliotekos naudojimas

Gson yra atviro kodo ir turtingas Java „Google“ teikiama biblioteka. Jis naudojamas konvertuoti JSON eilutę į lygiavertį JSON objektą ir JSON objektą į JSON eilutę. Ši kodo eilutė naudojama konvertuoti JSON eilutę į JSON objektą.

 Gson g = new Gson(); Student s = g.fromJson(jsonString, Student.class) 

Taip pat galime konvertuoti JSON objektą į JSON eilutę naudodami toJson () metodas.

 String str = g.toJson(p); 

JSON paprastos bibliotekos naudojimas

Tai dar viena atvirojo kodo „Java“ biblioteka, naudojama konvertuoti JSON eilutę į JSON objektą. JSON-Simple bibliotekos pranašumas yra mažas dydis. Puikiai tinka ten, kur svarbi atminties apribojimo aplinka. Atminkite, kad jis taip pat suderinamas su JDK 1.2. Tai reiškia, kad galime jį naudoti su senu projektu, kurio nėra „Java 5“. Naudojame šiuos teiginius, norėdami konvertuoti JSON eilutę į JSON objektą.

 JSONParser parser = new JSONParser(); JSONObject json = (JSONObject) parser.parse(stringToParse); 

Džeksono bibliotekos naudojimas

Jackson biblioteka yra efektyvi ir plačiai naudojama Java biblioteka, skirta Java objektams susieti su JSON ir atvirkščiai. Jame gausu funkcijų, greitas veikimas, taip pat palaikomas srautinis perdavimas. Srautas gali išanalizuoti didelę JSON išvestį iš žiniatinklio paslaugų visiškai neįkeldamas jos į atmintį. Šis teiginys paverčia JSON eilutę, atstovaujančią mokinį, į Java klasę, atstovaujančią mokinį.

 Student student = new ObjectMapper().readValue(jsonString, Student.class); 

Jackson bibliotekos trūkumas yra tas, kad jai reikia bent JDK 1.5. Todėl, jei turime reikalą su senesne versija, ji ten netiks. Kitas Jackson bibliotekos trūkumas yra tai, kad ji nepalaiko J2ME.

JSON eilutės konvertavimo į JSON objektą pavyzdys

Šioje programoje JSON eilutę konvertavome į JSON objektą.

JsonStringToJsonObjectExample.java

 import org.json.JSONObject; import org.json.JSONArray; public class JsonStringToJsonObjectExample { public static void main(String args[]) { String str = &apos;[{&apos;No&apos;:&apos;17&apos;,&apos;Name&apos;:&apos;Andrew&apos;},{&apos;No&apos;:&apos;18&apos;,&apos;Name&apos;:&apos;Peter&apos;}, {&apos;No&apos;:&apos;19&apos;,&apos;Name&apos;:&apos;Tom&apos;}]&apos;; JSONArray array = new JSONArray(str); for(int i=0; i <array.length(); i++) { jsonobject object="array.getJSONObject(i);" system.out.println(object.getstring('no')); system.out.println(object.getstring('name')); } < pre> <p> <strong>Output:</strong> </p> <pre> 17 Andrew 18 Peter 19 Tom </pre> <p>Let&apos;s see another example.</p> <p> <strong>JsonStringToJsonObjectExample2.java</strong> </p> <pre> import org.json.*; public class JsonStringToJsonObjectExample2 { public static void main(String[] args) { String string = &apos;{&apos;name&apos;: &apos;Sam Smith&apos;, &apos;technology&apos;: &apos;Python&apos;}&apos;; JSONObject json = new JSONObject(string); System.out.println(json.toString()); String technology = json.getString(&apos;technology&apos;); System.out.println(technology); } } </pre> <p> <strong>Output:</strong> </p> <pre> Sam Smith Python </pre> <hr></array.length();>

Pažiūrėkime kitą pavyzdį.

JsonStringToJsonObjectExample2.java

metodo poeilutė java
 import org.json.*; public class JsonStringToJsonObjectExample2 { public static void main(String[] args) { String string = &apos;{&apos;name&apos;: &apos;Sam Smith&apos;, &apos;technology&apos;: &apos;Python&apos;}&apos;; JSONObject json = new JSONObject(string); System.out.println(json.toString()); String technology = json.getString(&apos;technology&apos;); System.out.println(technology); } } 

Išvestis:

 Sam Smith Python