通過Json和Gson,快速生成和解析json字符串


1,首先我們要先明白json與gson有什么區別

其實他們是完全不同的概念:

json是一種數據格式,便於數據傳輸,存儲,交換。

gson則是一種組件庫,就是通過Gson我們可以把java中的對象(gson.toJson()),轉換成Json字符串,當然反過來也是可以的(gson.fromJson);

 

2,代碼

首先我們需要JSon和Gson這兩個jar包

 

package com.json.dome;

import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;

public class JsonDome {

public static void main(String[] args) {
// TODO 自動生成的方法存根
//生成json
List<Student> arrayList=new ArrayList<Student>();
Student stu1=new Student("張三", "男");
Student stu2=new Student("李四", "男");
Student stu3=new Student("王二", "女");
arrayList.add(stu1);
arrayList.add(stu2);
arrayList.add(stu3);
Gson gson=new Gson();

//gson.toJson(student);//對單個實例操作

//將對象的集合轉換成json字符串
String json=gson.toJson(arrayList);
System.out.println(json);

 


//解析json

//對單個實例操作

gson.fromJson(json,Sutdent.Class);//json為要解析的字符串,Sutdent.Class為對應的對象

//這里生成的是一個實例集合
List<Student> arraylist=gson.fromJson(json, new TypeToken<List<Student>>(){}.getType());
for(Student stu:arraylist)
{
System.out.println(stu.name+" "+stu.sex);
}
}
}

class Student
{
String name;
String sex;
public Student(String name, String sex) {
super();
this.name = name;
this.sex = sex;
}

}

 

雖然使用JSONObject對象的方法也能夠解析json字符串,但是顯然我們這樣做,會更簡單

 

 

望不吝賜教!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM