示例一:

有这样一个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的更多相关文章

  1. Android数据解析-JSON解析

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,基于JavaScript(Standard ECMA-262 3rd Edition - December ...

  2. 实现android上解析Json格式数据功能

    实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...

  3. 1.Android中解析json程序代码

    Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...

  4. Android中解析JSON形式的数据

    1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...

  5. Android上解析Json格式数据

    package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json ...

  6. 【Android】解析Json数据

    Json数据:"{\"UserID\":\"Allen\",\"Dep\":IT,\"QQ\":\" ...

  7. Android中解析JSON格式数据常见方法合集

    待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...

  8. android 中解析json格式数据

    本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...

  9. Android中解析Json数据

    在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...

随机推荐

  1. AVL树平衡旋转详解

    AVL树平衡旋转详解 概述 AVL树又叫做平衡二叉树.前言部分我也有说到,AVL树的前提是二叉排序树(BST或叫做二叉查找树).由于在生成BST树的过程中可能会出现线型树结构,比如插入的顺序是:1, ...

  2. tomcat管理页面403 Access Denied的解决方法

    安装tomcat,配置好tomcat环境变量以后,访问manager app页面,出现403 Access Denied错误,解决的方法如下: 首先在conf/tomcat-users.xml文件里面 ...

  3. shell命令行执行python(解析json)

    每个脚本都有自己的擅长. 有次实现一个work,使用了shell,php,python看着文件种类多,不方便交接,看着也比较麻烦. 减少文件种类数,也是很有必要的. 遇到的场景:shell程序需要从j ...

  4. QueryRunner实战(query_update)、BeanList\BeanHandler、MapList\MapHandler、ScalarHandler

    1.c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-config&g ...

  5. Ubuntu中安装和配置 Java JDK,并卸载自带OpenJDK(以Ubuntu 14.04为例)

    1.下载jdk-7u67-linux-x64.tar.gz 2.用ftp客户端工具filezilla上传到ubuntu的合适文件夹.如果如果不能上传到指定文件夹可能是文件夹权限不足,修改文件夹可执行权 ...

  6. 外贸圈 贸易经 外贸心路 一位成功外贸人的SOHO心得

    一位成功外贸人的SOHO心得 外贸圈http://waimaoquan.alibaba.com/wm Jade,高中毕业,93年进入外贸行业,刚开始,只是在公司的外贸仓库工作,10多年后的今天,他已成 ...

  7. Main.storyboard: WKWebView before iOS 11.0 (NSCoding support was broken in previous versions)

    在工程里用  故事板写了 wkwebview  如果运行在 ios11以下 就会报这个错误,如果要支持iOS 11 以下的用户,请重写View部分,使用代码调用WKWebView,而不用使用故事版来加 ...

  8. 译:6.RabbitMQ Java Client 之 Remote procedure call (RPC,远程过程调用)

    在  译:2. RabbitMQ 之Work Queues (工作队列)  我们学习了如何使用工作队列在多个工作人员之间分配耗时的任务. 但是如果我们需要在远程计算机上运行一个函数并等待结果呢?嗯,这 ...

  9. [100]awk运算-解决企业统计pv/ip问题

    awk运算 awk以脚本方式运行 #!/bin/awk BEGIN{ arr[1]="maotai"; arr[2]="maotai" for(k in arr ...

  10. javascript form提交 不执行onsubmit事件解决方案

    转载自:https://www.cnblogs.com/lorgine/archive/2011/03/30/2000284.html 今天做项目过程中,需要用到javascript提交form到后台 ...