新闻中心

EEPW首页>嵌入式系统>设计应用> Android Json解析 - 初步

Android Json解析 - 初步

作者: 时间:2016-09-12 来源:网络 收藏

if(country.equals(theKey))

{

System.out.println(reader.nextString());

}

if(province.equals(theKey))

{

System.out.println(reader.nextString());

}

if(city.equals(theKey))

{

System.out.println(reader.nextString());

}

}

reader.endObject();

}

}

reader.endObject();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

都给解析出来了。

1.解析一个对象

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

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

它只是一个对象。

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

package com.zhycheng;

publicclass Human {

String name,address;

int age;

public String getName() {

return name;

}

publicvoid setName(String name) {

this.name = name;

}

publicint getAge() {

return age;

}

publicvoid setAge(int age) {

this.age = age;

}

public String getAddress() {

return address;

}

publicvoid 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>(){}.getType();

Gson g=new Gson();

LinkedList ll=g.fromJson(s, type);

for(int i=0;i

{

Human h=(Human)ll.get(i);

System.out.println(h.getName()+,+h.getAge()+,+h.getAddress());

}

在这里要注意:

1.Json里的数据时数组,数组里是对象

2.泛形一定要用,否则出错

项目工程下载。


上一页 1 2 下一页

关键词:

评论


相关推荐

技术专区

关闭