JSON (JavaScript 객체 표기법)은 완전히 언어 독립적 인 텍스트 형식을 사용하고 이상적인 데이터 교환 형식 인 가벼운 데이터 교환 형식입니다. 한편 JSON은 JavaScript 기본 형식으로 JSON 데이터를 JavaScript에서 처리하기 위해 특별한 API 또는 툴킷이 필요하지 않음을 의미합니다.
Java의 많은 JSON 건설 및 구문 분석 도구는 www.json.org에 게시됩니다. 그중에서도 org.json과 json-lib는 비교적 간단합니다. 두 사람은 사용이 비슷하지만 여전히 약간의 차이점이 있습니다. 다음은 JSON-LIB를 사용하여 JSON 데이터를 구성하고 구문 분석하는 방법의 첫 번째 예입니다.
org.son을 사용하여 JSON 데이터를 구성하고 구문 분석하는 방법에 대한 자세한 설명은 다음 블로그 게시물을 참조하십시오. Java를 사용하여 JSON 데이터를 구성하고 구문 분석하는 두 가지 방법 (자세한 설명 2).
1. 소개
JSON-LIB 패키지는 콩, 컬렉션,지도, Java 어레이 및 XML 및 JSON을 변환하는 패키지입니다. 주로 JSON 데이터를 구문 분석하는 데 사용됩니다. 공식 웹 사이트 http://www.json.org/에 자세한 설명이 있습니다. 관심이 있으시면 공부할 수 있습니다.
2. Jar Dependency 패키지 다운로드 : 여기에서 다운로드 할 수 있습니다.
3. 기본 방법 소개
1. 목록 수집을 JSON 메소드로 변환합니다
목록 List = new ArrayList (); list.add ( "First"); list.add ( "second"); jsonarray jsonarray2 = jsonarray.fromobject (list);
2. 맵 수집을 JSON 메소드로 변환합니다
map map = new hashmap (); map.put ( "name", "json"); map.put ( "bool", boolean.true); map.put ( "int", new Integer (1)); map.put ( "arr", new String [] { "a", "b"}); "funcip", "return this. json = jsonobject.fromobject (map); 3. Bean을 JSON 코드로 변환하십시오
jsonobject jsonobject = jsonobject.fromobject (new jsonbean ());
4. 배열을 JSON 코드로 변환합니다
boolean [] boolarray = new boolean [] {true, false, true};5. 일반 데이터를 JSON 코드로 변환합니다
jsonarray jsonarray3 = jsonarray.fromobject ( "[ 'json', 'is', 'easy']");
6. Bean을 JSON 코드로 변환하십시오
목록 List = new ArrayList (); JSONBEAN2 JB1 = NEW JSONBEAN2 (); JB1.SETCOL (1); JB1.SETROW (1); JB1.SETVALUE ( "XX"); JSONBEAN2 (); jb2.setCol (2); jb2.setrow (2); jb2.setValue ( ""); list.add (jb1); list.add (jb2); jsonarray ja = jsonarray.fromobject (list);
4. 시연 예
테스트 할 몇 가지 기본 일반적인 방법은 다음과 같습니다
package com.json; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import net.sf.json.jsonarray; import net.sf.json.jsonobject;/*** json-lib를 생성 및 parse json data* @author alexia* @author. 2013/5/23 **/public class jsontest {/*** 구성 json data** @return*/public static string buildjson () {// json 형식 데이터 구문 분석 jsonobject jo = new JsonObject (); // 다음 구조물 두 맵, 목록 및 직원 맵 <String> map1 = new Hashmap <string () "Alexia"); map1.put ( "sex", "female"); map1.put ( "age", "23"); map <문자열, 문자열> map2 = new Hashmap <String, String> (); map2.put ( "name", "edward"); map2.put ( "sex", "male"); map2.put ( "Age", "24"); ArrayList <map> (); list.add (map1); list.add (map2); employee Employee = new Employee (); Employee.setName ( "wjl"); Employee.setSex ( "female"); Employee.setage (24); // jsonArray datajsonArray ja1 = jsonArray.fromob (map1); // map1로 변환됩니다. datajsonArray ja2 = jsonarray.fromobject (list); // bean bean 변환 jsonarray data jsonarray ja3 = jsonarray.fromobject (Employee); system.out.println ( "jsonarray 객체 데이터 형식 : "); system.out.println (ja1.toString ()); System.out.println (ja2.tostring ()); System.out.println (ja3.tostring ()); // 직원 개체 jo.put ("map ", ja1); ja2); System.out.println ( "/n 최종 구성 JSON 데이터 형식 :"); System.out.println (jo.toString ()); return jo.tostring ();}/*** Parse JSON Data** @param jsonstring json data String*/public static void parsejson (String Jsonstring) {// map as a a a a a a a a a a a a a a a a a a a a a a a a a a parse json jsonObject jb = jsonObject.fromObject (jsonstring); jsonArray ja = jb.getJsonArray ( "Employee"); list <peployee> emplist = new arraylist <Employee> (); // 루프는 (int i = 0; i <ja.size (); i ++) {직원 직원 = 새로운 Employee (); Employee.setName (ja.getJsonObject (i) .getString ( "name")); Employee.setSex (ja.getJsonObject (i) .getString ( "sex")); Employee.setage (ja.getJsonObject (i) .getInt ( "age"); emplist.Adt. JSON 데이터에 대한 데이터 : "); for (int i = 0; i <emplist.size (); i ++) {Employee emp = emplist.get (i); System.out.println ("이름 : " + emp.getName () +"섹스 : " + emp.getsex () +"age : " + emp.getage ()); main (string [] args) {// todo 자동 생성 메소드 stubparsejson (buildjson ());}} 작업 결과는 다음과 같습니다
5. org.json과 비교하십시오
JSON-LIB 및 ORG.JSON의 사용은 거의 동일합니다. 두 가지 차이점을 요약했습니다.
1. org.json은 JSON-LIB보다 훨씬 가볍습니다. 전자는 다른 JAR 패키지에 의존하지 않으며, 후자는 Lang, Logging, Beanutils, Collections 및 Ezmorph 및 Commons의 다른 구성 요소에 의존합니다.
2. JSON-LIB는 콩을 만들고 콩을 구문 분석 할 때 org.json보다 훨씬 편리합니다. JSON-LIB는 콩으로 직접 변환 할 수있는 반면 org.json은 콩으로 직접 변환 할 수 없으며 전송으로지도가 필요합니다. Bean을 JSON 데이터로 변환하는 경우 먼저 Bean을 맵으로 변환 한 다음 맵을 JSON으로 변환해야합니다.
요컨대, 같은 문장이 여전히 당신에게 가장 좋은 것입니다. 모든 사람은 필요에 따라 분석 할 방법을 선택해야합니다. 마지막으로 JSON 데이터를 분석하기위한 두 가지 도구를 소개하겠습니다. 하나는 온라인 도구 JSON Edit (http://braincast.nl/samples/jsoneditor/)입니다. 다른 하나는 Eclipse 플러그인 JSON 트리 분석기이며, 둘 다 매우 유용하며 모든 사람이 사용하는 것이 좋습니다!
위의 것은 Java를 사용하여 JSON 데이터를 구성하고 구문 분석하여 귀하에게 소개 된 두 가지 방법입니다 (자세한 설명 1). 나는 그것이 모두에게 도움이되기를 바랍니다!