json解析
来源:互联网 发布:藏刀不能在淘宝卖 编辑:程序博客网 时间:2024/05/01 13:07
1、json:JavaScript Object Notation
就是一个字符串
2、json组成:名值对
{ :json对象,JSONObject
[ :json数组,JSONArray
3、对象:{ 名值对} 多个名值对之间逗号隔开
4、数组:[ 数组元素值] ,多个值之间也是用逗号隔开
学生数组,存储多个学生,使用【多个学生】
每个学生:name,age,json字符串格式:{ name=“张三”,age=20}
多个学生:[ { name=“张三”,age=20},{ name=“张三”,age=20},{ name=“张三”,age=20}]
案例一:
String json = "{name:'zhangsan',age:20}";
// 字符串以{开头,是json对象,使用JSONObject
// 第一次解析时,无论是对象还是数组,都需要指定解析的字符串
JSONObject o = new JSONObject(json);
// 根据不同类型的值,使用get***方法获得相应的值
String name = o.getString("name");
int age = o.getInt("age");
// 封装对象
Person p = new Person();
p.setAge(age);
p.setName(name);
System.out.println(p);
案例二:
String json = "{name:'zhangsan',age:20,dept:{no:1,name:'android'}}";
try {
JSONObject o1 = new JSONObject(json);
String name = o1.getString("name");
int age = o1.getInt("age");
// 部门的值是对象,使用getJSONObject获得
JSONObject o2 = o1.getJSONObject("dept");
int no = o2.getInt("no");
String dName = o2.getString("name");
Dept dept = new Dept(no, dName);
Employee e = new Employee(name, age, dept);
System.out.println(e);
案例三:
String json = "[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]";
List<Person> list = new ArrayList<Person>();
// json字符串以【开头,是数组,使用JSONArray解析
JSONArray a = new JSONArray(json);
for (int i = 0; i < a.length(); i++) {
JSONObject o = a.getJSONObject(i);
String name = o.getString("name");
int age = o.getInt("age");
Person p = new Person();
p.setAge(age);
p.setName(name);
list.add(p);
}
就是一个字符串
2、json组成:名值对
{ :json对象,JSONObject
[ :json数组,JSONArray
3、对象:{ 名值对} 多个名值对之间逗号隔开
4、数组:[ 数组元素值] ,多个值之间也是用逗号隔开
学生数组,存储多个学生,使用【多个学生】
每个学生:name,age,json字符串格式:{ name=“张三”,age=20}
多个学生:[ { name=“张三”,age=20},{ name=“张三”,age=20},{ name=“张三”,age=20}]
案例一:
String json = "{name:'zhangsan',age:20}";
// 字符串以{开头,是json对象,使用JSONObject
// 第一次解析时,无论是对象还是数组,都需要指定解析的字符串
JSONObject o = new JSONObject(json);
// 根据不同类型的值,使用get***方法获得相应的值
String name = o.getString("name");
int age = o.getInt("age");
// 封装对象
Person p = new Person();
p.setAge(age);
p.setName(name);
System.out.println(p);
案例二:
String json = "{name:'zhangsan',age:20,dept:{no:1,name:'android'}}";
try {
JSONObject o1 = new JSONObject(json);
String name = o1.getString("name");
int age = o1.getInt("age");
// 部门的值是对象,使用getJSONObject获得
JSONObject o2 = o1.getJSONObject("dept");
int no = o2.getInt("no");
String dName = o2.getString("name");
Dept dept = new Dept(no, dName);
Employee e = new Employee(name, age, dept);
System.out.println(e);
案例三:
String json = "[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]";
List<Person> list = new ArrayList<Person>();
// json字符串以【开头,是数组,使用JSONArray解析
JSONArray a = new JSONArray(json);
for (int i = 0; i < a.length(); i++) {
JSONObject o = a.getJSONObject(i);
String name = o.getString("name");
int age = o.getInt("age");
Person p = new Person();
p.setAge(age);
p.setName(name);
list.add(p);
}
0 0
- 【JSON解析】JSON解析
- 解析JSON
- Json解析
- JSON解析
- JSON解析
- json解析
- Json解析
- Json解析
- JSON解析
- Json解析
- Json解析
- JSON解析
- JSON解析
- json 解析
- Json解析
- JSON解析
- json解析
- json 解析
- 安卓控件使用系列6:EditText控制输入的字符范围
- POJ 2187 Beauty Contest(旋转卡壳)
- java7 MethodHandle学习笔记
- pull解析
- 查询与159号员工的工资,职位都相同的员工信息
- json解析
- 邂逅英语路上的风景
- 模式识别经典算法——FCM图像聚类分割(最简matlab实现)
- 图片拉伸:resizableImageWithCapInsets
- 使用占位符进行模糊查询
- JVM GC算法和种类
- HttpClient客户端
- HDU2883 kebab(中等) [最大流]判断满流(数据离散化)
- HttpUrlConnection编程