GoogleのGSONを発見しました。なぜなら、以前にProtocolbufをある程度理解していて、GSONを使い始めたからです。
Github Homepage:https://github.com/google/gson
比較後、GSONおよびその他の既存のJava JSONクラスライブラリの違いは最大です。 GSONは、注釈を使用してシリアル化する必要があるフィールドを特定することなく、エンティティクラスを達成するためにシリアル化する必要があります。同時に、GSONは、注釈を使用してシリアル化する必要があるフィールドを柔軟に構成できます。
リストまたはマップをJSONに変換するのは非常に簡単です:
public string getJsondata(list <?> list){gson gson = new gson(); string jsonstring = gson.tojson(list); jsonstringを返します;}以下に詳細な例を示します。
例
シンプルなオブジェクト変換とジェネリックとのリスト変換:
エンティティクラス:
パブリッククラスの学生{private int id;プライベート文字列名;プライベートデートの誕生日; public int getid(){return id; } public void setid(int id){this.id = id; } public string getname(){return name; } public void setName(string name){this.name = name; } public date getBirthday(){return Birthday; } public void setbirthday(date Birthday){this.birthday = Birthday; } @Override public String toString(){return "desute [Birthday =" + Birthday + "、id =" + id + "、name =" + name + "]"; }}テストクラス:
java.util.arraylistをインポートします。 Import Java.util.date; java.util.listをインポートします。 com.google.gson.gsonをインポートします。 com.google.gson.reflect.typetokenをインポートします。 public class gsontest1 {public static void main(string [] args){gson gson = new gson(); Student Student1 = new Student(); Student1.SetID(1); Student1.setName( "Li Kun"); Student1.setbirthday(new Date()); // ///////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// System.out.println( "Json to Simple Bean ===" + Student); // result:// simple bean to json === {"id":1、 "name": "li kun"、 "Birthday": "" Birthday ":" "birthday 8:27:52 am"} ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// Student2 = new Student(); Student2.SetID(2); Student2.setName( "Cao Guisheng"); Student2.setBirthday(new Date());学生Student3 = new Student(); Student3.SetID(3); Student3.setName( "liu bo"); Student3.setbirthday(new Date());リスト<Student>リスト= new ArrayList <Student>(); list.add(desute1); list.add(desudent2); list.add(desudent3); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- result:// genericsのリストはjson == [{"id":1、 "name": "li kun"、 "Birthday": "2012年6月8:28:52 AM"}、{"id":2、 "に変換されます。 bo "、" Birthday ":" 2012年6月22日8:28:52 AM "}] //学生[誕生日= Fri 6月22日08:28:52 CST 2012、ID = 1、name = li kun] //学生[誕生日=金22 08:28:52 CST 2012、ID = 2、name = cao guisheng] name = liu bo]}}実行結果:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PM "}、{" id ":2、" name ":" cao guisheng "、" Birthday ":" "2012年6月9日9:10:31 PM"}、{"id":3、 "name": "liu bo"、 "Birthday": " 22 21:10:31 CST 2012、id = 2、name = cao guisheng]学生[誕生日= Fri Jun 22 21:10:31 CST 2012、id = 3、name = liu bo]