迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

如何在 Java 中把 Hashmap 转换为 JSON 对象

作者:迹忆客 最近更新:2023/12/17 浏览次数:

本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

Hashmap 和 JSON 都是开发人员非常常用的,因为它们帮助我们创建了一个简单的结构,可以轻松地用于存储以及传输数据。


new JSONObject(hashmap) 将 Hashmap 转换为 JSON 对象

将哈希图转换为 JSON 对象的最传统方法是调用 JSONObject(),然后传递哈希图。

让我们看一个创建哈希图,然后以 JSON 格式打印的示例。

import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;

public class Main {
  public static void main(String[] args) {
    Map<String, Object> map = new HashMap();

    map.put("key1", "value1");
    map.put("key2", "value2");

    JSONObject json = new JSONObject(map);
    System.out.printf("JSON: %s", json);
  }

输出:

JSON: {"key1":"value1","key2":"value2"}

需要注意的是,Map<String, Object> 需要一个字符串,即 key,和一个对象 Object,即 value。这意味着我们可以将任何有效的对象作为值传入 Map,然后将其转换为 JSON 对象。

下面是一个例子,它把一个字符串和一个 Arraylist 作为值。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import org.json.simple.JSONObject;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> stringArrayList = new ArrayList<>();
    stringArrayList.add("firstString");
    stringArrayList.add("secondString");
    stringArrayList.add("thirdString");

    Map<String, Object> map = new HashMap();
    map.put("key1", "value1");
    map.put("key2", "value2");
    map.put("stringList", stringArrayList);

    JSONObject json = new JSONObject(map);
    System.out.printf("JSON: %s", json);
  }

输出:

JSON: {"key1":"value1","key2":"value2","stringList":["firstString","secondString","thirdString"]}

Jackson 库将 Hashmap 转换为 JSON 对象

在 Java 中,有一些库可以帮助我们将 Hashmap 转换为 JSON 对象,而且非常灵活。

Jackson 是这些库中的一个,它接收一个 Java map,然后将其转换成 JSON 格式。

我们不要忘记处理 JsonProcessingException,因为 ObjectMapper().writeValueAsString(map) 发现不兼容的数据格式时,会抛出异常。

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) throws JsonProcessingException {
    Map<String, Object> map = new HashMap();
    map.put("key1", "value1");
    map.put("key2", "value2");

    String json = new ObjectMapper().writeValueAsString(map);
    System.out.printf("JSON: %s", json);
  }

输出:

JSON: {"key1":"value1","key2":"value2"}

GSON 库将 Hashmap 转换为 JSON 对象

Gson 库是最常用的将 hashmap 转换为 JSON 对象的库之一。它提供了简单的方法来处理我们的 hashmap 和 JSON。

Gson 类有一个方法 toJsonTree 它接收我们的 Map 并将其转换为 JSON 树。但由于我们需要一个 JSON 对象,我们可以使用 toJSONObject() 来使 JSON 树成为一个 JSON 对象。

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    Map<String, Object> map = new HashMap();
    map.put("key1", "value1");
    map.put("key2", "value2");

    Gson gson = new Gson();
    JsonObject json = gson.toJsonTree(map).getAsJsonObject();

    System.out.printf("JSON: %s", json);
  }

输出:

JSON: {"key1":"value1","key2":"value2"}

上一篇:如何在 Java 中按值排序 Map

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中将 JSON 转换为 XML

发布时间:2023/10/18 浏览次数:126 分类:Java

本文介绍了 Java 中 JSON 到 XML 的转换。本教程介绍如何在 Java 中将 JSON 转换为 XML。要将 JSON 转换为 XML,我们可以使用多个库,例如 org.json、下划线和 Jackson。

在 Java 中将 XML 转换为 JSON

发布时间:2023/10/18 浏览次数:166 分类:Java

在 Java 中将 XML 转换为 JSON 的方法本文将介绍如何在 Java 中将 XML 文件转换为 JSON。XML 是可扩展标记语言,你通过电子邮件发送的任何文本都会作为 XML 接收,然后转换为 JSON 以存储在数据库中。

用 C++ 读取 JSON 文件

发布时间:2023/08/25 浏览次数:228 分类:C++

本文将解释创建 JSON 文件,然后在编译器中从该文件读取数据的概念。 我们将使用 C++ 语言和 jsoncpp 库。本文使用Linux操作系统来完成上述任务。 不过,也可以在 Windows 操作系统上的 C++ 编译器

在 Java 中反序列化 JSON

发布时间:2023/08/01 浏览次数:155 分类:Java

本文介绍如何在 Java 中反序列化 JSON。在 Java 中反序列化 JSON 提供了用于 JSON 操作的不同库。 这些库还可以在 Java 中序列化和反序列化 JSON 对象。

在 Java 中将对象序列化为 JSON

发布时间:2023/07/21 浏览次数:214 分类:Java

本文介绍了如何使用 Java-JSON 和 Jackson API 在 Java 中将对象序列化为 JSON。在 Java 中将对象序列化为 JSON 提供了用于 JSON 操作的不同库。

在 Java 中漂亮打印 JSON 数据

发布时间:2023/07/21 浏览次数:124 分类:Java

我们将使用必要的示例和解释来讨论该主题,以使问题变得更容易。 我们将在本文中讨论三种最常用的方法。在 Java 中使用 Gson 漂亮地打印 JSON 数据

Python 中错误 ValueError: No JSON Object Could Be Decoded

发布时间:2023/07/06 浏览次数:169 分类:Python

我们将讨论名称错误、如何将 Python 对象编码为 JSON,以及如何将相邻字符串解码为 Python 对象。 我们还去了解一下为什么解析JSON数据失败。ValueError: No JSON Object Could Be Decoded

在 Python 中解析 JSON 对象数组

发布时间:2023/06/28 浏览次数:171 分类:Python

由于浏览器可以快速解析 JSON 对象,因此它们有助于在客户端和服务器之间传输数据。 本文将介绍如何使用Python的JSON模块传输和接收JSON数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便