github : https://github.com/google/gson에서 GSON을 다운로드하십시오
GSON의 응용 프로그램에는 주로 두 가지 전환 기능 Tojson과 FromJson이 포함됩니다. 이 객체 변환을 사용하기 전에 JSON 문자열을 해당 객체로 성공적으로 변환하려면 객체 범주 및 멤버를 작성해야합니다.
클래스 예제 {private int answer1 = 100; 개인 문자열 답변 2 = "Hello World!"; examples () {} // 기본 생성자}JAVA 객체를 JSON 문자열로 직렬화하십시오
예제 1 = 새로운 예제 (); GSON GSON = NEW GSON (); 문자열 json = gson.tojson (실시 예 1);
JSON 결과가 될 것입니다
{ "Answer1": 100, "Answer2": "Hello World!"}}JSON 문자열을 해당 Java 객체로 삼으십시오
예제 2 = gson.fromjson (json, examples.class);
==> 예제 2는 예제와 동일합니다
Object Example1은 Tojson을 통해 JSON 문자열로 직렬화 된 다음, 객체 예제 2가 JSON을 수신 한 후 FromJSON을 통해 예제 2로 제조된다고 선언합니다. 따라서 예제는 예제와 동일하다.
예:
java.util.arraylist 가져 오기; import java.util.arrays; java.util.collection import; java.util.hashmap import; java.util.map import; import com.google.gson.gson; import com.google.gson.reflect.typetoken; 클래스 사용자 {public user (문자열 이름, int 연령, StringBuffer 섹스, 부울 ischild) {this.name = name; this.age = age; this.sex = 섹스; ischild = ischild; } 개인 문자열 이름; 사적인 int 연령; 사적인 StringBuffer 섹스; 개인 부울 ischild; public String toString () {return "{name ="+name+"; age ="+age+"; sex ="+sex+"; ischild ="+ischild+"}"; } public int hashcode () {return name.hashcode ()*100+age; }} public class gsontest {public static void main (String [] args) {gson gson = new Gson (); System.out.println ( "평범한 콩의 1 회 전환 **********************************************************************************************************************************************************************. System.out.println ( "Bean을 JSON String->로 변환"); user user1 = 새 사용자 ( "Fengjie", 12, New StringBuffer ( "Unknown"), true); System.out.println ( "변환 전"use "+user1); 문자열 json = gson.tojson (user1); System.out.println ( "JSON String의 사용자 개체, JSON ==="+JSON); System.out.println ( "********************************"); System.out.println ( "JSON 문자열을 bean->로 변환"); user user2 = gson.fromjson (json, user.class); System.out.println ( "user2 =="+user2로 변환); System.out.println (); System.out.println("Convert to 2Collection collection*******************************************"); System.out.println ( "Bean의 목록 컬렉션을 JSON 문자열로 변환->"); Collection <user> userList1 = New ArrayList <User> (); for (int i = 0; i <3; i ++) {user user = new user ( "ruhua", 10+i, new StringBuffer ( "male"), false); userList1.Add (사용자); } json = gson.tojson (userList1); System.out.println ( "사용자 목록 수집 객체는 JSON 문자열, JSON ==="+JSON으로 변환됩니다. System.out.println ( "********************************"); System.out.println ( "JSON 문자열을 Beans-의 목록 모음으로 변환"); Collection <사용자> userList2 = gson.fromjson (JSON, New TypEtoken <Collection <User>> () {}. getType ()); System.out.println ( "사용자 목록으로 변환, userList2 ="+userList2); System.out.println (); System.out.println ( "3ARRAY 배열의 변환 ***************************************************************************************************************************************************************************************************************************** 여전히 전환"); System.out.println ( "Bean의 배열 배열을 JSON 문자열로 변환->"); user [] userArray1 = 새 사용자 [3]; for (int i = 0; i <userArray1.length; i ++) {userArray1 [i] = 새 사용자 ( "hidden", 20, new StringBuffer ( "shemale"), true); } json = gson.tojson (userArray1); System.out.println ( "사용자의 배열 객체는 json 문자열, json ==="+json으로 변환됩니다); System.out.println ( "*********************************"); System.out.println ( "JSON 문자열을 Bean->의 배열 객체로 변환"); user [] userArray2 = gson.fromjson (json, new typetoken <user []> () {}. gettype ()); System.out.println ( "사용자의 배열 객체로 변환, userArray2 ="+arrays.toString (userArray2)); System.out.println (); System.out.println ( "4MAP 전환 ********************************************************************************************************************************************************************************************함이 변환합니다. System.out.println ( "Bean의지도를 JSON 문자열로 변환"); map <string, user> map1 = new Hashmap <String, User> (); for (int i = 0; i <3; i ++) {map1.put ( ""+(i+10), userArray1 [i]); } json = gson.tojson (map1); System.out.println ( "사용자지도 컬렉션은 JSON 문자열로 변환, JSON ==="+JSON); System.out.println ( "********************************"); System.out.println ( "JSON 문자열을 Bean->의 배열 객체로 변환"); map <string, user> map2 = gson.fromjson (json, new typetoken <map <string, user >> () {}. gettype ()); System.out.println ( "사용자의 배열 객체로 변환, map2 =="+map2); }}실행 결과 :
1 평범한 콩의 1 회전 *************************************************************** 콩을 JSON 문자열로 변환-> user1 {name = fengjie; age = 12; sex = unknown; ischild = true} 사용자 객체는 JSON 문자열로 변환됩니다. json === { "name": "fengjie", "age": 12, "sex": "sex": "unknown", "ischild". conversion************************************************ Convert a Bean's List collection into a json string-> User's List collection object into a Json string, json === [{ "이름": "Ruhua", "Age": "Age": "Sex": "Male", "Ischild": "false}, {"이름 ":"Ruhua ","Age ": 11,"Sex ":"Male ","Ischild ":"이름 ":"Ruhua ":"Sex "" "" "" "" "" "" " ****************************************************** Convert a json string to a list collection of beans -> Convert to the List collection of Users, userList2=[{name=Ruhua;age=10;sex=Male;isChild=false}, {name=Ruhua;age=11;sex=Male;isChild=false}, {name = ruhua; age = 12; age = 12; sex = male; ischild = false}] 3array 어레이 변환 *************************************************************************************** 사용자의 배열 객체는 JSON 문자열로 변환됩니다. json === [{ "이름": "Hibi", "Age": 20, "Sex": "Shemale", "Ischild": True}, { "name": "Hidden", "Age": 20, "섹스": "shemale", "ischild": true}, { "name": "hidden", "age": 20, "sex": "shemale", "ischild": true}] ******************************************************* Convert a json string to an array object of a bean->Convert to the array object of the User to the user, userArray2=[{name=Hidden;age=20;sex=Hidden; ischild = true}, {name = hibiscus; json === { "10": { "name": "hibi", "age": 20, "sex": "shemale", "ischild": true}, "11": { "name": "hibibi", "age": 20, "sex": "shemale", "ischild": true}, "12": { "name": "hibibi", "age": 20, "sex": "shemale", "ischild": true}} *************************************************************************************** 사용자의 배열 객체, map2 == {10 = {name = hibi; 12 = {name = hibibi; age = 20; sex = hermaid; ischild = true}}}