Android:Json数据转换成Map_android json to hashmap-程序员宅基地

技术标签: android开发代码  java  android  json转map  

本文利用Gson来做实现,先导入:

implementation 'com.google.code.gson:gson:2.8.6'

主要利用的是JsonObject里的entrySet()方法,相关Demo代码如下:

import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class JsonConvertDemo {
    public static String buildMapJsonObject() {
        Map<String, TestBean> map = new HashMap<>();
        map.put("key1", new TestBean(1, "标题1"));
        map.put("key2", new TestBean(2, "标题3"));
        map.put("key3", new TestBean(3, "标题3"));
        //生成JSONObject
        return new Gson().toJson(map);
    }

    public static Map<String, TestBean> convertToMap() {
        Map<String, TestBean> map = new HashMap<>();
        String str = buildMapJsonObject();
        System.out.println(str);

        JsonObject jsonObject = new Gson().fromJson(str, JsonObject.class);
        //关键方法
        Set<Map.Entry<String, JsonElement>> entrySet = jsonObject.entrySet();
        for (Map.Entry<String, JsonElement> entry : entrySet) {
            TestBean bean = new Gson().fromJson(entry.getValue(), TestBean.class);
            map.put(entry.getKey(), bean);
        }
        System.out.println(map);
        return map;
    }

    static class TestBean {
        int id;
        String title;

        public TestBean(int id, String title) {
            this.id = id;
            this.title = title;
        }
    }
}

运行后生成的Json数据格式化如下图:

运行后Debug到的Map数据如下图:

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/chinaboyliusir/article/details/114152828

智能推荐

二级菜单原生js实现_原生一级二级菜单-程序员宅基地

文章浏览阅读1.8k次。今天莫名其妙想用原生js实现二级菜单,之前用jquery感觉挺简单的,但是jquery好久没用了,试着用原生的js实现一下。首先用nodeName判断子节点为li元素,然后就有二种实现方式1.item.style.display用none和block进行菜单伸缩这种方式挺常见的,但是一开始判断display的值要考虑多一些,因为这种方式加css是直接加到标签上的。代码如下<!DOCTYPE html><html><head><..._原生一级二级菜单

[西柚仔]Gateway网关(二)路由、 断言、 过滤 +实战(源码)_什么是断言 路由 过滤器-程序员宅基地

文章浏览阅读347次。Gateway网关(二)路由、 断言、 过滤 +实战(源码)前言今天给大家讲解一下Gateway三大核心:Route(路由)、Predicate(断言)和Filter(过滤),然后给大家演示代码实操。Route(路由):路由是构建网关的基本模块,它由ID,目标URL,一系列的断言和过滤器组成,如断言为true则匹配路由。Predicate(断言):断言是JDK8的新特性,可以参考java.util.function.Predicate。断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特_什么是断言 路由 过滤器

手机号正则匹配规则_23、使用正则完成市面上手机规则的编写、随机生成11位数然后通过正则匹配出符合规-程序员宅基地

文章浏览阅读557次。$isMob = "/^1[3-9]\d{9}$/";_23、使用正则完成市面上手机规则的编写、随机生成11位数然后通过正则匹配出符合规

blender中文三维立体文字制作方法_blender怎么做立体字-程序员宅基地

文章浏览阅读2w次。启动blender后使用左侧工具栏;“Create”创建 → “Text”文本 ;选中刚刚创建的text,点击键盘tab键,或者调整到编辑模式,或者在对象目录树中选中刚刚创建的text对象;这时候变为可编辑状态,英文字母或者数字可以直接输入,输入后左下角会出现insert text的对话面板;中文无法在blender中直接输入,所以要打开一个记事本,输入中文,然后复制中文,..._blender怎么做立体字

计算机网络 第二章 物理层 笔记-程序员宅基地

文章浏览阅读97次。b站 王道计算机考研 计算机网络 笔记

Vue + elementUi 实现菜单无限级的分类导航_vue 菜单分类-程序员宅基地

文章浏览阅读4.4k次。Vue + elementUi 实现菜单无限级的分类导航[ { "id": 1, "parent_id": 0, "menu_name": "第一级菜单 1", "sorting": 0, "node": [ { "id": 2, ..._vue 菜单分类

随便推点

新时代火热技术栈:大数据->人工智能(AI)->区块链_区块链大数据人工智能测试方案-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏7次。前言 对于大数据与人工智能,相信大家已经耳熟能详了,所以本文在此仅会重点讲解区块链这个概念,读完本文您将收获到:了解一种链接了当今时代几大热点的技术栈,并知道该技术栈将在未来发挥怎么样重要的作用。_区块链大数据人工智能测试方案

android 自动更新(适配6.0-9.0)_com.qianwen:update-app:3.5.2-程序员宅基地

文章浏览阅读1.3k次。使用GitHub开源的项目AppUpdate使用文档也写的非常清楚1.设置Gradle 依赖dependencies { compile 'com.qianwen:update-app:3.5.2'}2.设置get方式请求服务器获取是否更新的JSON数据,返回的数据格式参加开源项目的使用文档3.在需要app调用更新的时候引用下面代码并且更新下载new Upda..._com.qianwen:update-app:3.5.2

计算机图形学知识点_计算机图形学的两个核心问题分别是什么-程序员宅基地

文章浏览阅读1.3k次。1 什么是计算机图形学数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。虽然通常认为CG是指三维图形的处理,事实上也包括了二维图形及图像的处理。 计算机图形学主要包含四大部分的内容:建模(Modeling)、渲染(Rendering)、动画(Animatio..._计算机图形学的两个核心问题分别是什么

ai人工智能论文写作方法有哪些?-程序员宅基地

文章浏览阅读344次,点赞9次,收藏8次。aipaperpass作为一款智能写作助手,集成了上述多种AI人工智能论文写作方法。它不仅可以提供论文写作思路、快速生成初稿、检查语法和拼写错误等功能,还能自动摘要、推荐内容、格式化排版等。这些功能使得aipaperpass成为一款强大的论文写作工具,能够帮助研究者更加高效、准确地完成论文的撰写工作。

基于ffmpeg给视频添加时间字幕_ffmpeg 添加时间文字-程序员宅基地

文章浏览阅读2.5k次。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,我们可以基于ffmpeg对视频进行各种操作。本文主要介绍基于ffmpeg给视频添加字幕,字幕的内容为视频所播放的时间(故需要安装ffmpeg,具体可以的1.1进行安装配置)。所涉及到的知识主要为字幕文件格式。_ffmpeg 添加时间文字

因特网的概述_因特网图标描述-程序员宅基地

文章浏览阅读4.4k次。因特网的概念因特网(Internet)是世界范围内计算机网络的集合。因特网是网络的网络,将全球异构的网络互联起来形成的网络。因特网采用分组交换技术。基于ISP的因特网结构:ISP:Internet Service Provider提供因特网接入服务的企业或运营商如图是多层次的ISP结构示意图:ISP结构下,信息层层推进,分层传递。因特网的硬件组成名称作用终端系统主机、服务器、PDA,运行网络程序通信介质有线介质:双绞线、同轴电缆、光纤。无线介质:无线电波、_因特网图标描述

推荐文章

热门文章

相关标签