Android Json解析之直接对象解析(三)

本文通过示例介绍了如何使用Gson库解析JSON对象和数组为Java实体类。首先创建了一个简单的Java类,接着展示了如何将JSON字符串转换成该类的实例,以及如何解析包含多个对象的JSON数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.解析一个对象

可以直接从Json中将队形解析出来,这个Json必须是一个Json对象,如下:

{"name":"zhangsan","age":22,"address":"太原"}

它只是一个对象。

我新建一个类,生成get和set方法,如下:

package com.zhycheng;

public class Human {
	String name,address;
	int age;
	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;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}

}

然后使用如下代码直接解析

String s="{\"name\":\"zhangsan\",\"age\":22,\"address\":\"太原\"}";
        Gson g=new Gson();
        Human h=g.fromJson(s, Human.class);
        System.out.println(h.getName()+";"+h.getAge()+";"+h.getAddress());

2.解析数组

下面解析如下的Json数据:

[{"name":"zhangsan","age":22,"address":"太原"},

{"name":"lisi","age":20,"address":"黄冈"},

{"name":"wangwu","age":21,"address":"武汉"}]

代码如下:
 String s="[{\"name\":\"zhangsan\",\"age\":22,\"address\":\"太原\"},{\"name\":\"lisi\",\"age\":20,\"address\":\"黄冈\"},{\"name\":\"wangwu\",\"age\":21,\"address\":\"武汉\"}]";
        Type type=new TypeToken<LinkedList<Human>>(){}.getType();
        Gson g=new Gson();
        LinkedList<Human> ll=g.fromJson(s, type);
        for(int i=0;i<ll.size();i++)
        {
        	Human h=(Human)ll.get(i);
        	System.out.println(h.getName()+","+h.getAge()+","+h.getAddress());
        	
        }

在这里要注意:
1.Json里的数据时数组,数组里是对象
2.泛形一定要用,否则出错

项目工程下载下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值