Android json 数据解析
1、json格式
{"students":[{"sid":1001,"name":"zhangsan","addr":"Yichang","pic":"111.jpg"},
{"sid":1002,"name":"Jack","addr":"Beijing","pic":"222.jpg"}]}
{[{"sid":1001,"name":"zhangsan","addr":"Yichang","pic":"111.jpg"},
{"sid":1002,"name":"Jack","addr":"Beijing","pic":"222.jpg"}]}
Student stu =
new Student(1005,"张三","Wuhan","zs.jpg");
JSONObject jsonObject =
new JSONObject(stu);
JSONObject jsonObject =
new JSONObject(str);
Iterator<String> iterator =
jsonObject.keys();
Student stu =
new Student();
while(iterator.hasNext()){
//可以利用java反射,写泛型方法
String key = iterator.next();
if(key.equals("sid")){
stu.setSid(jsonObject.getInt(key));
}
if(key.equals("name")){
stu.setName(jsonObject.getString(key));
}
if(key.equals("sid")){
stu.setAddr(jsonObject.getString(key));
}
if(key.equals("sid")){
stu.setPic(jsonObject.getString(key));
}
}
Student stu =
new Student(1005,
"张三",
"Wuhan",
"zs.jpg");
JSONObject jsonObject =
new JSONObject();
jsonObject.put("zs", stu);
同样jsonObject.toString()就是字符串输出 {"zs":"{sid:1005, name:张三, addr:Wuhan, pic:zs.jpg}"}。要注意,如果Student没有覆写toString()方法,输入的是:{"zs":"org.itair.domain.Student@2666e815"}
Student s1 =
new Student(1001,"zhangsan","yichang","111");
Student s2 =
new Student(1002,"Jack","Beijing","222");
List<Student> stus =
new ArrayList<Student>();
stus.add(s1);
stus.add(s2);
JSONArray array =
new JSONArray(stus);
array的字符串是:[{"sid":1001,"name":"zhangsan","addr":"yichang","pic":"111"},{"sid":1002,"name":"Jack","addr":"Beijing","pic":"222"}]
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject2 = jsonArray.getJSONObject(i);
//解析成特定的对象操作,new对象,从jsonObject2取出值来装进去
Iterator<String> iterator =
jsonObject2.keys();
while (iterator.hasNext()) {
String key = iterator.next();
Object value = jsonObject2.get(key);
map.put(key, value);
}
}
Student s1 =
new Student(1001,"zhangsan","yichang","111");
Student s2 =
new Student(1002,"Jack","Beijing","222");
List<Student> stus =
new ArrayList<Student>();
stus.add(s1);
stus.add(s2);
JSONObject jsonObject =
new JSONObject();
jsonObject.put("students", stus);
jsonObject的字符串:{"students":[{"sid":1001,"name":"zhangsan","addr":"yichang","pic":"111"},{"sid":1002,"name":"Jack","addr":"Beijing","pic":"222"}]}
JSONObject jsonObject =
new JSONObject("要解析的json字符串");
JSONArray jsonArray = jsonObject.getJSONArray("key");//key就是上面放入的students
在Android的项目中,一般不会把Json字符串解析成对象的集合,而多是解析成List<Map<String,Object>>
List<Map<String,Object>> list =
new ArrayList<Map<String ,Object>>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject2 = jsonArray.getJSONObject(i);
Map<String ,Object> map =
new HashMap<String, Object>();
Iterator<String> iterator =
jsonObject2.keys();
while (iterator.hasNext()) {
String key = iterator.next();
Object value = jsonObject2.get(key);
map.put(key, value);
}
list.add(map);
}
要解析成对象集合,还是用Gson, fastjson比较方便。
Android json 数据解析的更多相关文章
- Android JSON数据解析(GSON方式)
要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Jav ...
- Android JSON数据解析(数据传输)
上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三 种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通 ...
- Android Json数据解析
1.通过主Activity的Button按钮进行解析 public class MainActivity extends Activity { private Button button=null; ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- iOS学习——JSON数据解析(十一)
在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...
- Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示
Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...
- iOS学习笔记(十一)——JSON数据解析
在之前的<iOS学习——xml数据解析(九)>介绍了xml数据解析,这一篇简单介绍一下Json数据解析.JSON 即 JavaScript Object Natation,它是一种轻量级的 ...
随机推荐
- axios在实际项目中的使用介绍
1.axios本身就封装了各种数据请求的方法 执行 GET 请求 // 为给定 ID 的 user 创建请求 axios.get('/user?ID=12345') .then(function (r ...
- java 8新特性 匿名内部类的使用
package com.atguigu.java8; import java.util.ArrayList; import java.util.Arrays; import java.util.Com ...
- Linux & Filesystem Hierarchy Standard
Linux & Filesystem Hierarchy Standard The Filesystem Hierarchy Standard of Linux https://zhuanla ...
- POJ 1811 大整数素数判断 Miller_Rabin
#include <cstdio> #include <cstring> #include <cmath> #include <ctime> #incl ...
- [luoguP1076] 寻宝(模拟)
传送门 模拟就好! 然后需要把一圈的有楼梯的都记录一下,取膜乱搞. 代码 #include <cstdio> #include <iostream> #define N 100 ...
- jquery转义字符之单引号
jquery动态生成html,并且html中包含方法时,如 var varHtml = '<input type="button" value="点我删除" ...
- [bzoj1574][Usaco2009 Jan]地震损坏Damage_dfs
地震损坏Damage bzoj-1574 Usaco-2009 Jan 题目大意:题目链接. 注释:略. 想法: 显然对于每一个report点,和它直接相连的点都不可能到达1.我们将它打上标记. 然后 ...
- [bzoj1072][SCOI2007]排列(状态压缩DP)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1072 分析:看了题解才知道,状态的设计很巧妙,用余数表示,即f[i][j]表示二进制状 ...
- php 类型转换
PHP数据类型转换 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: •(int).(integer):转换成整形 •(float).(double).(real):转换成浮点型 •(s ...
- hadoop-2.6.0 Unhealthy Nodes 问题
近期安装hadoop-2.6.0集群时,打开8088页面,查看集群信息,看到集群出现Unhealthy Nodes 的问题,点击该处.会展开Unhealthy Nodes 的情况,这时会看到Healt ...