java Gson java代码转字符串、对象使用

废话不多说,直接上源码。

首先第一步创建java bean Person对象,里面包括id,name,age等属性,第二步创建GsonTest将json字符串转换成java对象,通过JavaElements转换成JsonObject、JsonArray,遍历JsonArray通过迭代器。

Person

package com.prase.bean;


public class Person {
//编号
private Integer id;
//姓名
private String name;
//年龄
private Integer age;
public Person() {
super();
// TODO Auto-generated constructor stub
}
public Person(int id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
}


}

GsonTest

package com.prase.test;




import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.prase.bean.Person;


public class GsonTest {
public static void main(String[] args) {
Map map=new HashMap<>();
//给map 设置key value
map.put("id", "1");
map.put("name", "admin");
map.put("age", "20");
//给list添加几个元素
List list=new ArrayList();
list.add("1");
list.add( "123");
list.add("30");
//json字符串格式
String str="[{'id':1,'name':'tom','age':30},{'id':2,'name':'lisi','age':40}]";
Gson gson=new Gson();
//将java字符串转换成java对象
String jsonString=gson.toJson(map);
System.out.println(jsonString);

//把集合转换成json字符串
jsonString=gson.toJson(list);

//创建一个jsonParser
JsonParser parser=new JsonParser();

//通过JsonParser 可以把json字符串转成成javaelement对象
JsonElement element=parser.parse(str);

//将jsonelement转换成JsonObject
JsonObject jsonObject=null;
if(element.isJsonObject()){
jsonObject=element.getAsJsonObject();
}
//将jsonelemnt转化成JsonArray
JsonArray jsonArray=null;
if(element.isJsonArray()){
jsonArray=element.getAsJsonArray();
}
//遍历jsonArray对象
Person person=null;
Iterator it=jsonArray.iterator();
while(it.hasNext()){
JsonElement e=(JsonElement) it.next();
//将JsonElment转换成java bean对象
person=gson.fromJson(e, Person.class);
System.out.println("id:"+person.getId()+"----"+"name:"+person.getName()+"----"+"age:"+person.getAge());
}

}



}

控制台的输出信息

{"id":"1","age":"20","name":"admin"}
id:1----name:tom----age:30
id:2----name:lisi----age:40

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值