经过Json和Gson,快速生成和解析json字符串

1,首先咱们要先明白json与gson有什么区别java

其实他们是彻底不一样的概念:json

json是一种数据格式,便于数据传输,存储,交换。dom

gson则是一种组件库,就是经过Gson咱们能够把java中的对象(gson.toJson()),转换成Json字符串,固然反过来也是能够的(gson.fromJson);this

 

2,代码google

首先咱们须要JSon和Gson这两个jar包spa

 

package com.json.dome;对象

import java.util.ArrayList;
import java.util.List;字符串

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

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

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字符串,可是显然咱们这样作,会更简单

 

 

望不吝赐教!

相关文章
相关标签/搜索