Android json数据解析
前言
什么是json
Android中json相关解析类
JSONObject
value的类型包括: JSONObjects, JSONArrays, Strings, Booleans, Integers, Longs, Doubles or NULL
- get():在确定key存在的条件下使用,否则当无法检索到相关key时,将会抛出一个Exception异常信息
- opt():这个方法相对比较灵活,当无法获取所指定数值时,将会返回一个默认值,并不会抛出异常(个人推荐使用这个方法)
JSONArray
同样JSONArray的value类型可以包括:JSONObjects, JSONArrays, Strings, Booleans, Integers, Longs, Doubles or NULL
Android解析实例
获取json字符串
private String getJsonByNetwork() {// You can get json by this urlfinal String url = "http://api.androidhive.info/contacts/";DefaultHttpClient httpClient = new DefaultHttpClient();HttpGet httpGet = new HttpGet(url);InputStream inputStream = null;String result = null;try {HttpResponse response = httpClient.execute(httpGet);inputStream = response.getEntity().getContent();// Json is UTF-8 by defaultBufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));StringBuilder sb = new StringBuilder();String tmp = null;while ((tmp = reader.readLine()) != null) {sb.append(tmp);}result = sb.toString();} catch (Exception e) {try {if (inputStream != null) {inputStream.close();}} catch (IOException se) {}}return result;
}
解析json字符串
// Create a JSONObject
JSONObject jsonObject = new JSONObject(result);
(2) 获取JSONArray,遍历JSONArray数组
// To get a specific JSONArray
JSONArray jsonArray = jsonObject.getJSONArray("contacts");// To get items from the array
for (int i = 0; i < jsonArray.length(); i ++) {// TODO:Traverse the jsonarray
}
(3) 获取JSONObject
// Create a JSONObject
JSONObject jsonObject = new JSONObject(result);// To get a specific JSONArray
JSONArray jsonArray = jsonObject.getJSONArray("contacts");// To get items from the array
for (int i = 0; i < jsonArray.length(); i++) {// To get a specific JSONObjectJSONObject oneObject = jsonArray.getJSONObject(i);
}
(4)获取特定字符串
// Create a JSONObject
JSONObject jsonObject = new JSONObject(result);// To get a specific JSONArray
JSONArray jsonArray = jsonObject.getJSONArray("contacts");// To get items from the array
for (int i = 0; i < jsonArray.length(); i++) {// To get a specific JSONObjectJSONObject oneObject = jsonArray.getJSONObject(i);// To get a specific stringString id = oneObject.getString("id");String name = oneObject.getString("name");Log.e("wzy", "id is:" + id + ", name is " + name);
}
解析结果:
03-05 10:26:08.690: E/wzy(26401): id is:c200, name is Ravi Tamada
03-05 10:26:08.690: E/wzy(26401): id is:c201, name is Johnny Depp
03-05 10:26:08.690: E/wzy(26401): id is:c202, name is Leonardo Dicaprio
03-05 10:26:08.690: E/wzy(26401): id is:c203, name is John Wayne
03-05 10:26:08.691: E/wzy(26401): id is:c204, name is Angelina Jolie
03-05 10:26:08.691: E/wzy(26401): id is:c205, name is Dido
03-05 10:26:08.691: E/wzy(26401): id is:c206, name is Adele
03-05 10:26:08.692: E/wzy(26401): id is:c207, name is Hugh Jackman
03-05 10:26:08.693: E/wzy(26401): id is:c208, name is Will Smith
03-05 10:26:08.693: E/wzy(26401): id is:c209, name is Clint Eastwood
03-05 10:26:08.694: E/wzy(26401): id is:c2010, name is Barack Obama
03-05 10:26:08.694: E/wzy(26401): id is:c2011, name is Kate Winslet
03-05 10:26:08.695: E/wzy(26401): id is:c2012, name is Eminem
Android json数据解析相关推荐
- Android JSON数据解析(GSON方式)
要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Jav ...
- Android json数据解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- Android学习笔记44:JSON数据解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- Android系列---JSON数据解析
http://www.cnblogs.com/xiaoluo501395377/p/3446605.html Android系列---JSON数据解析 转载于:https://www.cnblogs. ...
- json数据解析 android,Android基础之json数据解析
这次来聊聊Android中json数据的解析,既然是基础就要求只要你看一遍就必须会的,不牵涉到太多的复杂逻辑,目的就是让你初步认识json数据的解析和学会对简单的json数据进行解析. 首先第一步我们 ...
- android studio json数据解析汇总(备忘)
之前写过一个,但是写不太全,结果自己都看不懂,希望这个以后能看懂吧. 以两个例子说明json数据解析,一个是最简单的,一个是比较难的. 必须知道的:JSONObject和JSONArray JSONO ...
- Rxjava、Retrofit返回json数据解析异常处理
每个App都避免不了要进行网络请求,从最开始的用谷歌封装的volley到再到android-async-http再到OKHttpUtils再到现在的Retrofit和RxJava,从我自己用后的体验来 ...
- Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示...
Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...
- dio java,Flutter基础(十一)网络请求(Dio)与JSON数据解析
本文首发于微信公众号「后厂技术官」 前言 在Android开发中如果我们想要请求网络,可以使用HttpClent.HttpURLConnection,但在项目中一般都会使用OkHttp和Retrofi ...
最新文章
- Android中实现震动的方法
- Linux echo 显示内容颜色
- jenkins清除、修改admin主账号的密码
- fortran subroutine_Fortran:派生数组与数组传递进子程序耗费时间比较
- h5日期选择控件_成都h5开发工程师培训_H5入门需要知道的知识
- 【tensorflow】常量张量的初始化
- Keras-3 Keras With Otto Group
- 设计干货 | 时尚简约海报模板
- 【论文笔记】Beyond Low-frequency Information in Graph Convolutional Networks
- BIM族库下载——常用Revit结构砌体机械族30套
- Qt 中Socket编程实例
- ntfs是什么硬盘?ntfs硬盘如何在苹果电脑使用
- Vue实战笔记(一) 引入Ant Design
- 项目管理PMP:项目绩效考核管理制度(全岗位流程图66页)
- Linux 下编译出现“ln failed to create symbolic link operation not supported”
- 政务区块链平台设计思路
- 详解浅拷贝,深拷贝及实现方法
- Python实现PD文字识别、提取并写入CSV文件脚本分享
- tsv文件导入mysql
- 惊!又一家知名企业被查!
热门文章
- Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析
- 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车
- 【机器学习自学笔记7】主成分分析(PCA)
- DAppStore率先集成ChatGPT助力App安全开发
- 如何优雅判断属性值为空
- 【C语言刷LeetCode】2126. 摧毁小行星(M)
- MATLAB实现正弦频谱分析学习笔记
- PhotoShop算法实现高级篇--色彩特效(三十五)
- 经纬恒润_软件开发实习生_面试经历(电话面试)
- 用 canvas 操作图片像素