gson class[]とJson Stringの相互変換の汎用化
3271 ワード
1.目的:
主にgsonによってclass配列とjson変換の汎用化を実現するツールである.クラスによってツールのクラスが変わることはありません.
2.ソースコード
ツールクラス:
テストクラス
主にgsonによってclass配列とjson変換の汎用化を実現するツールである.クラスによってツールのクラスが変わることはありません.
2.ソースコード
ツールクラス:
package Util;
import java.util.ArrayList;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
//
public class MyJson {
// public static void main(String[] args){
// System.out.println();
// String jsonData= "[{\"name\":\" \",\"age\":23}]";
// parseToString(jsonData);
// }
// public LinkedList parseToOject(String jsonData){
// // �?��Object , Products
// Type listType=new TypeToken>(){}.getType(); //TypeToken
// Gson gson=new Gson();
// LinkedList Objects=gson.fromJson(jsonData,listType); //Object LinkedList�?
// return Objects;
//
// }
/*
* Products product=new Products("1","zzx","mm",999.0,"mam","hao","hhhhhhhhhhhhhhhh","phone","000","1314");
List products =new ArrayList();
products.add(product);
String json=new Object2Json().parseToJson(products);
System.out.println(new Json2Object().parseToOject(json, Products[].class).get(0).getPname());
*/
/*1.List , ,ArrayList , ArrayList List
* List products =new ArrayList();
*
* 2.Class type , Products[].class
* : , Products , Products ( )Products[].class
* Object2Json , Gson().fromJson(jsonData, type);
* Gson JavaBean , T , ,
*/
//Products[].class
public ArrayList parseToObject(String jsonData, Class type){
// Products , Products
T[] list = new Gson().fromJson(jsonData, type);
ArrayList array_list=new ArrayList();
for(int i=0;i objects){
//Iterator iterator=Views.iterator();
Gson g=new Gson();
String ListJsonString = "[";
// for(Iterator iterator = objects.iterator();iterator.hasNext();){
// // View View=(View)iterator.next();
// String jsonObject=g.toJson(objects.);
// ListJsonString+=jsonObject+",";
// }
for(int i=0;i
テストクラス
package Test;
import java.util.ArrayList;
import Domain.Student;
public class Test {
public static void main(String[] args ){
ArrayList array_student=new ArrayList();
Student student=new Student(1,"xiaolu","123");
array_student.add(student);
String jsonString=new Util.MyJson().parseToJson(array_student);
System.out.println(jsonString);
array_student=(ArrayList) new Util.MyJson().parseToObject(jsonString, Domain.Student[].class);
System.out.println(array_student.get(0).getUsername());
}
}