手记

java利用GSON解析和生成json

现在,我先自定义一个Class类
public class Student {
public int id;
public String nickName;
public int age;
public ArrayList<String> books;
public HashMap<String, String> booksMap;
}
案例一,案例二,案例三都是把Java的Class对象使用Gson转换成Json的字符串
Gson gson = new Gson();
Student student = new Student();
student.id = 1;
student.nickName = "乔晓松";
student.age = 22;
student.email = "965266509@qq.com";
Log.e("MainActivity", gson.toJson(student));
Gson gson = new Gson();
Student student = new Student();
student.id = 1;
student.nickName = "乔晓松";
student.age = 22;
student.email = "965266509@qq.com";
ArrayList<String> books = new ArrayList<String>();
books.add("数学");
books.add("语文");
books.add("英语");
books.add("物理");
books.add("化学");
books.add("生物");
student.books = books;
Log.e("MainActivity", gson.toJson(student));

Gson gson = new Gson();
Student student = new Student();
student.id = 1;
student.nickName = "乔晓松";
student.age = 22;
student.email = "965266509@qq.com";
ArrayList<String> books = new ArrayList<String>();
books.add("数学");
books.add("语文");
books.add("英语");
books.add("物理");
books.add("化学");
books.add("生物");
student.books = books;
HashMap<String, String> booksMap = new HashMap<String, String>();
booksMap.put("1", "数学");
booksMap.put("2", "语文");
booksMap.put("3", "英语");
booksMap.put("4", "物理");
booksMap.put("5", "化学");
booksMap.put("6", "生物");
student.booksMap = booksMap;
Log.e("MainActivity", gson.toJson(student));

案例四:
把案例三输出的字符串使用Gson转换成Student对象
Gson gson = new Gson();
Student student = new Student();
student.id = 1;
student.nickName = "乔晓松";
student.age = 22;
student.email = "965266509@qq.com";
ArrayList<String> books = new ArrayList<String>();
books.add("数学");
books.add("语文");
books.add("英语");
books.add("物理");
books.add("化学");
books.add("生物");
student.books = books;
HashMap<String, String> booksMap = new HashMap<String, String>();
booksMap.put("1", "数学");
booksMap.put("2", "语文");
booksMap.put("3", "英语");
booksMap.put("4", "物理");
booksMap.put("5", "化学");
booksMap.put("6", "生物");
student.booksMap = booksMap;
String result = gson.toJson(student);

    Student studentG = gson.fromJson(result, Student.class);  

    Log.e("MainActivity", "id:" + studentG.id);  
    Log.e("MainActivity", "nickName:" + studentG.nickName);  
    Log.e("MainActivity", "age:" + studentG.age);  
    Log.e("MainActivity", "email:" + studentG.email);  
    Log.e("MainActivity", "books size:" + studentG.books.size());  
    Log.e("MainActivity", "booksMap size:" + studentG.booksMap.size());

Gson gson = new Gson();
HashMap<String, Book> booksMap = new HashMap<>();
booksMap.put("book1", new Book(1, "Java基础开发"));
booksMap.put("book2", new Book(2, "Java设计模式"));
booksMap.put("book3", new Book(3, "Java算法"));
String dataStr = gson.toJson(booksMap);
System.out.println("dataStr:" + dataStr);
HashMap<String, Book> booksMap2 = gson.fromJson(dataStr, new TypeToken<HashMap<String, Book>>() {
}.getType());
for (Map.Entry<String, Book> entry : booksMap2.entrySet()) {
System.out.println("key:"+entry.getKey() + " value:" + entry.getValue().toString());
}

0人推荐
随时随地看视频
慕课网APP

热门评论

{ "eventList": [ { "id": 1030, "eventId": "1508779115818499700", "createTime": 1508779115000, "endTime": 1508865480000, "eventContent": "123", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1029, "eventId": "1508382907251660498", "createTime": 1508382906000, "endTime": 1508383020000, "eventContent": "ahhhhh", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1028, "eventId": "1508308708414580378", "createTime": 1508308721000, "endTime": 1508309040000, "eventContent": "30", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1027, "eventId": "1508308463330664814", "createTime": 1508308480000, "endTime": 1508308560000, "eventContent": "28", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" }, { "id": 1026, "eventId": "1508308463017144213", "createTime": 1508308479000, "endTime": 1508308560000, "eventContent": "27", "openid": "o4eWZ06xzHW6mc2gMZMYVDEtx1zk" } ], "page": "1", "size": "5", "isHasPage": "1" }

您好,对于这种嵌套集合的Json我尝试Gson不成功,您可以试下吗?我试了只有simple Json可以解析。需要的话可以去我的手记看下simple的:https://www.imooc.com/article/21523

查看全部评论