Android中json的解析
来源:互联网 发布:java泛型接口 编辑:程序博客网 时间:2024/04/28 15:48
Json vs XML
1.数据可读性基本相同
2.解析手段都很多
3.json数据体积更小
4.json与javascript关系紧密
5.json对数据描述更差
中括号代表一个json数组,比如:
[{"name":"zhangsan","age":20},{"name":"lisi","age":21}]
android sdk本身有对json解析的相关类库JsonReader,但是JsonReader只支持3.0及以上。所以只能使用Gson。
1.为了解析json数据,首先要有一个JsonReader对象。初始化JsonReader需要一个StringReader对象做参数。如:
2.Gson可以将json直接解析成对象。这样其实更加方便。如果我没记错的话,专业名词叫“反序列化”。
第二种方法更加方便,即反序列化:
1.数据可读性基本相同
2.解析手段都很多
3.json数据体积更小
4.json与javascript关系紧密
5.json对数据描述更差
中括号代表一个json数组,比如:
[{"name":"zhangsan","age":20},{"name":"lisi","age":21}]
android sdk本身有对json解析的相关类库JsonReader,但是JsonReader只支持3.0及以上。所以只能使用Gson。
1.为了解析json数据,首先要有一个JsonReader对象。初始化JsonReader需要一个StringReader对象做参数。如:
JsonReader reader = new JsonReader(new StringReader(jsonData));
2.Gson可以将json直接解析成对象。这样其实更加方便。如果我没记错的话,专业名词叫“反序列化”。
第一种是简单的解析:
JsonReader reader = new JsonReader(new StringReader(jsonData));reader.beginArray();while(reader.hasNext()){reader.beginObject();while(reader.hasNext()){String tagName= reader.nextName();if(tagName.equals("name")){System.out.println("name->"+reader.nextString());}else if (tagName.equals("age")) {System.out.println("age->"+reader.nextInt());}}reader.endObject();}reader.endArray();
第二种方法更加方便,即反序列化:
Gson gson = new Gson();User user = gson.fromJson(jsonData, User.class);System.out.println("name->"+user.getName());System.out.println("age->"+user.getAge());
这样只需提前写好User类(当中对应含有name、age等字段),就可以自动获得相应的对象,实现了数据的解析。
Type listType = new TypeToken<LinkedList<User>>(){}.getType();Gson gson = new Gson();LinkedList<User> users = gson.fromJson(jsonData, listType);for (User user : users) {System.out.println(user.getName());System.out.println(user.getAge());}
- Android中json的解析
- android中json的解析
- android中JSON的解析
- android中JSON的解析
- Android中JSON的解析
- android中JSON的解析
- android中JSON的解析
- Android中JSON的解析
- android中JSON的解析
- android中json解析
- Android中解析JSON
- Android中JSON解析
- Android中JSON解析
- Android中解析JSON
- Android中JSON解析
- Android中解析json
- android中对json的解析网址
- android中json数据的解析
- DOS命令大全一
- posix IPC shared_memory一例
- 云计算机时代共享软件新战场
- ****pcie编译时候注意事项***
- 皮皮书屋
- Android中json的解析
- DOS命令大全二
- Xilinx FPGA直接控制SATA固态盘
- 走进视频显示器
- pcie相关视频 http://xilinx.eefocus.com分享
- POJ2263 dij应用
- hdu 2448 Mining Station on the Sea
- 对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?
- POJ1584