Gson的使用

一、将Json类型字符串转换成对象。

假设字符串如下:

{"name":"中国","province":[{"name":"黑龙江","cities":{"city":["哈尔滨","大庆"]}},{"name":"广东","cities":{"city":["广州","深圳","珠海"]}},"name":"台湾","cities":{"city":["台北","高雄"]}},{"name":"新疆","cities":{"city":["乌鲁木齐"]}}]}

建立对象是关键。分析字符串的特点:最外面包括两个字段,name和province,name是字符串类型,province是个Province类型集合,可以建立一个country类。

Country类

public class Country {
	private String name;
	private ArrayList<Province> province;
	public Country() {
	}
	public Country(String name, ArrayList<Province> province) {
		super();
		this.name = name;
		this.province = province;
	}
	@Override
	public String toString() {
		return "Country [name=" + name + ", province=" + province + "]";
	}
}

Province类里面包括两个字段,String的name和一个Cities类型对象。注意Cities不是集合。

Province类

public class Province {
	private String name;
	private Cities cities;
	public Province(String name, Cities cities) {
		super();
		this.name = name;
		this.cities = cities;
	}
	@Override
	public String toString() {
		return "Province [name=" + name + ", cities=" + cities + "]";
	}
}
Cities类有一个集合city,类型是String

Cities类

public class Cities {
	private ArrayList<String> city;
	public Cities(ArrayList<String> city) {
		super();
		this.city = city;
	}
	@Override
	public String toString() {
		return "Cities [city=" + city + "]";
	}
}

这样就建好了各个实体类。

//实例化一个Gson对象、

Gson gson = new Gson();

Country country = new Country();

// 将一个Json格式的字符串转换成对象
country = gson.fromJson(jsonString, Country.class);
txtView.setText(country.toString());

二、利用上面的对象,将对象转换成Json类型字符串。主要代码如下:

// 一个城市集合
		ArrayList<String> cities = new ArrayList<String>();
		// 一个省的集合
		ArrayList<Province> provinces = new ArrayList<Province>();
		// 加入一些纽约州的城市
		cities.add("纽约市");
		cities.add("水牛城");
		cities.add("杨克斯");
		// 创建纽约州
		Province province = new Province("纽约州", new Cities(cities));
		// 将纽约州加入到州集合
		provinces.add(province);

		cities = new ArrayList<String>();
		cities.add("哥伦布");
		cities.add("克里夫兰");
		province = new Province("俄亥俄州", new Cities(cities));
		provinces.add(province);

		cities = new ArrayList<String>();
		cities.add("奥林匹亚市");
		cities.add("西雅图市");
		province = new Province("华盛顿州", new Cities(cities));
		provinces.add(province);
		// 实例化一个国家
		Country country1 = new Country("美国", provinces);
		// 将一个对象转换成Json形式的字符串
		String json = gson.toJson(country1);
		txtView1.setText(json);




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值