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\":\ ...
随机推荐
- Eclipse复制项目彻底修改项目名称
一.需求 需要新做一个项目,框架还是Maven+SSM,于是就把原来的项目copy了一个,操作是直接选中原项目,CTRL+C ,然后粘贴,这个时候会让你选择工作空间和给一个新的项目名字,如下图,输入新 ...
- 【POJ 3694】 Network(割边<桥>+LCA)
[POJ 3694] Network(割边+LCA) Network Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7971 ...
- grid - 重复网格轨道
使用repeat()可以创建重复的网格轨道.这个适用于创建相等尺寸的网格项目和多个网格项目 <view class="grid"> <view class='gr ...
- JFinal提示:java.lang.RuntimeException: dao 只允许调用查询方法
public class UserModel extends Model<UserModel>{ public static final UserModel userDao = new U ...
- ionic 001
安装和穿件app npm install -g cordova ionic 使用模板创建app ionic start myApp blank ionic start myApp tabs ionic ...
- 【转】Vmware14安装Centos7无法上网问题的解决
原文链接 1. 选择Net模式 修改配置子网ip. 修改子网的IP不要和本机的IP地址在同一个网段 比如本机IP地址信息: 无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . ...
- Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点( FROM IBM)
Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / ...
- .NET 同步与异步 之 警惕闭包(十)
本随笔续接:.NET 同步与异步 之 原子操作和自旋锁(Interlocked.SpinLock)(九) 至此.同步与异步 相关的常规操作(比较常见的操作).差不多已经介绍完毕. 本随笔就着重说一下闭 ...
- 小白学python时候总会遇到的几个问题
最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...
- Effective Java 第三版——50. 必要时进行防御性拷贝
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...