ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android第八讲笔记-2(JSON)

2021-05-04 10:32:39  阅读:162  来源: 互联网

标签:name jsonObject age 笔记 isstudent JSON value Android


目录

本节的内容是接着Android第八讲笔记-1(网络编程)而来。解说的案例和上节相同

JSON结构简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格局。易于人阅览和编写,同时也易于机器解析和生成(一般用于提高网络传输速率)。

获取JSON数据

1.简单JSON格式数据

在这里插入图片描述

这个端口返回的数据是**{ “age”:30,“name”:“张三”, “isstudent”:true }**

我们如何将数据提出来呢?

分析结构
在这里插入图片描述

通过key值来获取对应的值

在这里插入图片描述

核心代码

JSONObject jsonObject = new JSONObject(finalResult);
int age = jsonObject.getInt("age");
String name = jsonObject.getString("name");
boolean isstudent = jsonObject.getBoolean("isstudent");

2.JSON解析数组

在这里插入图片描述

这个端口返回的数据是**{ “grade”:“18级”,“classname”:“计算机科学与技术”,“students”:[“张三”,“李四”,“王五”] }**

  • 如果是一个中括号[],里面全部是value,value之间用逗号给开
  • [value,value,…]
  • value 可以是字符串,数字,boolean(必须是同一种类型)

这就是一个JSON格式的数组

分析结构
在这里插入图片描述

先将json数据传进JSONArray,然后再用for循环,可以取到数组中各个位置的值
在这里插入图片描述

核心代码

JSONObject jsonObject = new JSONObject(finalResult);
String grade = jsonObject.getString("grade");
String classname = jsonObject.getString("classname");
for(int i=0;i<jsonObject.length();i++){
	String o = (String) students.get(i);
	Log.i("MainActivity",o);
}

3.JSON嵌套

JSON对象嵌套JSON对象

在这里插入图片描述

这个端口返回的数据是**{ “age”:20,“name”:“张三”, “isstudent”:true,“class”:{“grade”:“18级”,“classname”:“计算机科学与技术”} }**

可以看到数据中,JSON对象中又嵌套了一个JSON对象
分析结构
在这里插入图片描述

这个JSON数据中有四个键值对

在这里插入图片描述

核心代码

JSONObject jsonObject=new JSONObject(finalResult);
String name = jsonObject.getString("name");
int age=jsonObject.getInt("age");
boolean isstudent = jsonObject.getBoolean("isstudent");
JSONObject aClass = jsonObject.getJSONObject("class");
String classname = aClass.getString("classname");
String grade = aClass.getString("grade");

JSON数组嵌套JSON对象

在这里插入图片描述

这个端口返回的数据是**{ “grade”:“18级”,“classname”:“计算机科学与技术”,“students”:[ { “id”:“001”,“age”:30,“name”:“张三”, “isstudent”:false }, { “id”:“002”,“age”:25,“name”:“李四”, “isstudent”:true }, { “id”:“003”,“age”:26,“name”:“王五”, “isstudent”:true } ]}**

分析结构
在这里插入图片描述

在这里插入图片描述

核心代码

JSONObject jsonObject = new JSONObject(finalResult);
String grade = jsonObject.getString("grade");
String classname = jsonObject.getString("classname");
JSONArray students = jsonObject.getJSONArray("students");
for(int i=0;i<students.length();i++){
	JSONObject jsonObject1 = students.getJSONObject(i);
	String name=jsonObject1.getString("name");
	Log.i("MainActivity",name);
}

学会使用工具分析json结构

在这里插入图片描述

这个端口返回的数据是**[ { “id”:“001”,“age”:30,“name”:“张三”, “isstudent”:false }, { “id”:“002”,“age”:25,“name”:“李四”, “isstudent”:true }, { “id”:“003”,“age”:26,“name”:“王五”, “isstudent”:true } ]**

而我们分析结构可以采用这个工具,JSON在线解析及格式化验证

在这里插入图片描述

总结

根据上面的分析,我们知道

1.JSON对象一般是由一个大括号{},里面是键值对的存储形式,{“key”:value,“key”:value,…},value可以是数字,字符串,boolean,JSON对象,数组

2.JSON数组是一个中括号[],里面都是value值,值与值之间逗号隔开。[value,value,…]value 可以是字符串,数字,boolean,JSON对象等等(必须是同一种类型)

补充

ViewBinding用法

在获取控件的id的时候,我们有时候会弄错id而导致报错,而使用ViewBinding可以适当降低错误

在这里插入图片描述

可以看到在对象中带有控件的属性,可以有效降低错误
在这里插入图片描述
从而使用java对象的方法获取控件并且赋值。

在这里插入图片描述

标签:name,jsonObject,age,笔记,isstudent,JSON,value,Android
来源: https://blog.csdn.net/ladiez/article/details/116331366

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有