Android数据解析——JSON
示例一:
有这样一个JSON需要解析,比如:
{
"thresholds": {
"1e-3": 65.3,
"1e-5": 76.5,
"1e-4": 71.8
}
}
希望得到对应的实体类对象。
经过观察,这是一个key-value键值对形式的json字符串,所以定义一个HashMap<String,Double>,然后对其进行反序列化即可。我们使用Gson来进行解析。
在Android Studio中导入jar包,需要两步:
1、在Android Studio中将项目视图切换到Project视图,然后将jar包复制到对应的libs目录下。

2、然后在Android Studio中右键,弹出的菜单中选择Add as Library...

最终会在gradle中添加对应配置。

代码:
public class Data {
public HashMap<String,Double> thresholds;
}
Gson gson = new Gson();
String json = "{\n" +
"\"thresholds\": {\n" +
"\"1e-3\": 65.3,\n" +
"\"1e-5\": 76.5,\n" +
"\"1e-4\": 71.8\n" +
"}\n" +
"}";
Data data = gson.fromJson(json, Data.class);
最终得到的data就是我们要的实体类对象。
示例二:
有这样一个JSON需要解析,比如:
{
"category": [
"iOS",
"Android",
"瞎推荐",
"拓展资源",
"福利",
"休息视频"
],
"error": false,
"results": {
"Android": [
{
"_id": "56cc6d23421aa95caa707a69",
"createdAt": "2015-08-06T07:15:52.65Z",
"desc": "类似Link Bubble的悬浮式操作设计",
"publishedAt": "2015-08-07T03:57:48.45Z",
"type": "Android",
"url": "https://github.com/recruit-lifestyle/FloatingView",
"used": true,
"who": "mthli"
}
]
}
}
代码:
public class Data {
public String[] category;
public boolean error;
public Results results;
}
public class Results {
public Android []Android;
}
public class Android {
public String _id;
public String createdAt;
public String desc;
public String publishedAt;
public String type;
public String url;
public boolean used;
public String who;
}
Gson gson = new Gson();
String json = "{\n" +
" \"category\": [\n" +
" \"iOS\",\n" +
" \"Android\",\n" +
" \"瞎推荐\",\n" +
" \"拓展资源\",\n" +
" \"福利\",\n" +
" \"休息视频\"\n" +
" ],\n" +
" \"error\": false,\n" +
" \"results\": {\n" +
" \"Android\": [\n" +
" {\n" +
" \"_id\": \"56cc6d23421aa95caa707a69\",\n" +
" \"createdAt\": \"2015-08-06T07:15:52.65Z\",\n" +
" \"desc\": \"类似Link Bubble的悬浮式操作设计\",\n" +
" \"publishedAt\": \"2015-08-07T03:57:48.45Z\",\n" +
" \"type\": \"Android\",\n" +
" \"url\": \"https://github.com/recruit-lifestyle/FloatingView\",\n" +
" \"used\": true,\n" +
" \"who\": \"mthli\"\n" +
" }\n" +
" ]\n" +
" }\n" +
"}";
Data data = gson.fromJson(json, Data.class);
Android数据解析——JSON的更多相关文章
- Android数据解析-JSON解析
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- 实现android上解析Json格式数据功能
实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...
- 1.Android中解析json程序代码
Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...
- Android中解析JSON形式的数据
1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...
- Android上解析Json格式数据
package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json ...
- 【Android】解析Json数据
Json数据:"{\"UserID\":\"Allen\",\"Dep\":IT,\"QQ\":\" ...
- Android中解析JSON格式数据常见方法合集
待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...
- android 中解析json格式数据
本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...
- Android中解析Json数据
在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...
随机推荐
- mysql从库Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'报错处理
年后回来查看mysql运行状况与备份情况,登录mysql从库查看主从同步状态 mysql> show slave status\G; *************************** . ...
- tomcat支持https的server.xml配置
访问地址:https://127.0.0.1/testWeb/mySevlet?url=123&action=aaa server.xml: <?xml version='1.0' en ...
- C# ConcurrentQueue实现
我们从C# Queue 和Stack的实现知道Queue是用数组来实现的,数组的元素不断的通过Array.Copy从一个数组移动到另一个数组,ConcurrentQueue我们需要关心2点:1线程安全 ...
- 了解 JavaScript (3)- 马上开始
之前演示了一个 Hello World 程序,而后讲解了一些基础概念,下面开始一些基础工作. 将脚本放在哪里 脚本可以放置在两个位置 <head></head>之间,头脚本(h ...
- 深入理解JVM(一)——JVM内存模型
JVM内存模型 Java虚拟机(Java Virtual Machine=JVM)的内存空间分为五个部分,分别是: 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区. ...
- Windows下Kettle定时任务执行并发送错误信息邮件
Windows下Kettle定时任务执行并发送错误信息邮件 1.首先安装JDK 2.配置JDK环境 3.下载并解压PDI(kettle) 目前我用的是版本V7的,可以直接百度搜索下载社区版,企业版收费 ...
- python3用BeautifulSoup抓取图片地址
# -*- coding:utf-8 -*- #python 2.7 #XiaoDeng #http://tieba.baidu.com/p/2460150866 #抓取图片地址 from bs4 i ...
- [Aaronyang紫色博客] 写给自己的WPF4.5-Blend5公开课系列 1
我的文章一定要做到对读者负责,否则就是失败的文章 --------- www.ayjs.net aaronyang技术分享 欢迎大家支持我的力作<[Aaronyang] 写给自己的 ...
- Kubernetes1.2如何使用iptables
转:http://blog.csdn.net/horsefoot/article/details/51249161 本次分析的kubernetes版本号:v1.2.1-beta.0. Kubernet ...
- Socket网络编程--简单Web服务器(4)
上一小节已经实现了对图片的传输,接下来就是判断文件是否为js,css,png等格式.我们增加一个函数用于判断格式 int WebServer::get_filetype(char *type,char ...