Android第八讲笔记-2(JSON)
2021/5/4 10:57:40
本文主要是介绍Android第八讲笔记-2(JSON),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- JSON结构简介
- 获取JSON数据
- 1.简单JSON格式数据
- 2.JSON解析数组
- 3.JSON嵌套
- JSON对象嵌套JSON对象
- JSON数组嵌套JSON对象
- 学会使用工具分析json结构
- 总结
- 补充
本节的内容是接着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对象的方法获取控件并且赋值。
这篇关于Android第八讲笔记-2(JSON)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-29如何在 Vue2 的 uni-app 项目中使用 npm ?-icode9专业技术文章分享
- 2024-12-29uni-app vue2微信小程序项目在哪里打开终端并使用npm?-icode9专业技术文章分享
- 2024-12-29怎么在 uni-app Vue2 项目中全局引入 Vant Weapp?-icode9专业技术文章分享
- 2024-12-29uni-app vue2微信小程序项目如何在main.js中全局引入vant?-icode9专业技术文章分享
- 2024-12-28Vue入门教程:从零开始搭建第一个Vue项目
- 2024-12-28Vue CLI入门指南:快速搭建Vue项目
- 2024-12-28Vue3基础知识入门教程
- 2024-12-28Vue3公共组件开发与使用入门教程
- 2024-12-28Vue CLI学习:新手入门教程
- 2024-12-28Vue CLI学习:轻松入门与实践指南