示例一:

有这样一个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. 使用JCOOKIES创建http cookie

    jCookies,一个功能强大的操作http cookie的jquery插件,他能够让你存储任何数据类型如:字符串,数组,对象等.它通过JavaScript存储Cookies,然后通过服务器端代码如: ...

  2. sf2gis@163.com

    1.下载boost1.52,http://www.boost.org/.解压文件到d:\boost\boost_1_52_0. 2.下载python2.7.3,http://www.python.or ...

  3. 关于产品UE的胡思乱想

    1.产品的目标是 取悦 用户 不能只盯着功能实现,而不考虑用户使用. 我们的目标不应该不过让用户使用我们的产品.而是让用户在使用我们产品过程中感到 "愉悦". 2.用户是SB​ 3 ...

  4. 001_ASP.NET MVC 实用教程 论坛项目 北盟网校 原创视频教程

    下载地址 http://pan.baidu.com/s/1kUJalbp 在线观看地址 http://www.bamn.cn/course/lesson/1 ASP.NET MVC 使用课程,是201 ...

  5. JDK自带jvisualvm监控工具

    定位 工具位于jdk\bin目录下(双击运行): 可以本地或者远程调试,本地调试会自动加载,远程调试需要配置.下面以Tomcat为例. 概述 监视 线程 抽样器 Java 堆 百度经验参考:https ...

  6. 10.翻译系列:EF 6中的Fluent API配置【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/fluent-api-in-code-first.aspx EF 6 Code-Firs ...

  7. PureFTP被动端口设置

    修改Pureftp的配置文件把 # PassivePortRange          30000 50000 把前面的#删除 重启pureftpd 注意把被动端口防火墙例外 如果是阿里云主机 安全规 ...

  8. 理顺FFT

    DFT(Discrete Fourier Transform):离散傅立叶变换 直观的计算DFT算法复杂度为O(N*N). FFT(Fast Fourier Transformation):快速傅立叶 ...

  9. 图解ByteBuffer

    https://www.cnblogs.com/ruber/p/6857159.html https://www.e-learn.cn/content/qita/750752 https://blog ...

  10. nginx反向代理 强制https请求

    upstream emove_pools { server ; check interval= rise= fall= timeout=; } #强制使用https跳转 server { listen ...