Данас је веома уобичајено примати податке у ЈСОН стринг формат уместо КСМЛ. Када имамо посла са ЈСОН стрингом у Јави, он не претвара ЈСОН стринг до ЈСОН објекат . Али користите ЈСОН стринг увек није добра опција јер је тешко носити се с тим. Због промене и потражње технологије, морамо претворити ЈСОН стринг у ЈСОН објекат за преузимање вредности. да бисмо решили овај проблем, постоје неке библиотеке отвореног кода које нам то дозвољавају претворити ЈСОН стринг у ЈСОН објекат. У овом одељку смо објаснили како претворити ЈСОН стринг у ЈСОН објекат детаљно са примером. Пре него што пређемо на главну тему, погледајмо ЈСОН формат.
jsonStringExample = { 'name' : 'Ronaldo', 'nickname' : 'Sam', 'id' : 312, 'age' : 21, 'height' : 163, 'lastOverScore' : [4, 1, 6, 6, 2, 1] }
Горњи ЈСОН формат садржи шест атрибута од којих су прва два низови, следећа три су нумеричка и на крају ЈСОН низ.
Конвертујте ЈСОН стринг у ЈСОН објекат
Постоје следеће три библиотеке које се користе за претварање стринга у ЈСОН објекат у Јави:
- Коришћење Гсон библиотеке
- Коришћење ЈСОН-једноставне библиотеке
- Џексонова библиотека
Коришћење Гсон библиотеке
Гсон је отвореног кода и богат Јава библиотека коју обезбеђује Гоогле. Користи се за претварање ЈСОН стринга у еквивалентни ЈСОН објекат и ЈСОН објекта у ЈСОН стринг. Следећи ред кода се користи за претварање ЈСОН стринга у ЈСОН објекат.
Gson g = new Gson(); Student s = g.fromJson(jsonString, Student.class)
Такође можемо да конвертујемо ЈСОН објекат у ЈСОН стринг користећи тоЈсон() методом.
String str = g.toJson(p);
Коришћење ЈСОН-једноставне библиотеке
То је још једна Јава библиотека отвореног кода која се користи за претварање ЈСОН стринга у ЈСОН објекат. Предност ЈСОН-Симпле библиотеке је њена мала величина. Савршено је тамо где је окружење ограничења меморије важно. Имајте на уму да је такође компатибилан са ЈДК 1.2. То значи да можемо да га користимо са застарелим пројектом који није у Јави 5. Користимо следеће изјаве да конвертујемо ЈСОН стринг у ЈСОН објекат.
JSONParser parser = new JSONParser(); JSONObject json = (JSONObject) parser.parse(stringToParse);
Коришћење Џексонове библиотеке
Џексонова библиотека је ефикасна и широко коришћена Јава библиотека за мапирање Јава објеката у ЈСОН и обрнуто. Богат је функцијама, брз у перформансама, а такође подржава стримовање. Стрим може рашчланити велики ЈСОН излаз из веб услуга без потпуног учитавања у меморију. Следећа изјава претвара ЈСОН стринг који представља ученика у Јава класу која представља ученика.
Student student = new ObjectMapper().readValue(jsonString, Student.class);
Недостатак Џексонове библиотеке је што захтева најмање ЈДК 1.5. Стога, ако имамо посла са старијом верзијом, она неће стати тамо. Још један недостатак Џексонове библиотеке је што не подржава Ј2МЕ.
Пример конверзије ЈСОН стринга у ЈСОН објекат
У следећем програму смо конвертовали ЈСОН стринг у ЈСОН објекат.
ЈсонСтрингТоЈсонОбјецтЕкампле.јава
import org.json.JSONObject; import org.json.JSONArray; public class JsonStringToJsonObjectExample { public static void main(String args[]) { String str = '[{'No':'17','Name':'Andrew'},{'No':'18','Name':'Peter'}, {'No':'19','Name':'Tom'}]'; 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'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 = '{'name': 'Sam Smith', 'technology': 'Python'}'; JSONObject json = new JSONObject(string); System.out.println(json.toString()); String technology = json.getString('technology'); System.out.println(technology); } } </pre> <p> <strong>Output:</strong> </p> <pre> Sam Smith Python </pre> <hr></array.length();>
Хајде да видимо још један пример.
ЈсонСтрингТоЈсонОбјецтЕкампле2.јава
ц++ стринг сплит
import org.json.*; public class JsonStringToJsonObjectExample2 { public static void main(String[] args) { String string = '{'name': 'Sam Smith', 'technology': 'Python'}'; JSONObject json = new JSONObject(string); System.out.println(json.toString()); String technology = json.getString('technology'); System.out.println(technology); } }
Излаз:
Sam Smith Python