map转jsonjava的简单介绍

发布时间:2023-12-08

map转jsonjava的简单介绍

更新:2022-11-15 20:27

本文目录一览:

  1. java怎么把map转换为json
  2. [java 怎么把map转为json](#java 怎么把map转为json)
  3. 如何把map转成json字符串
  4. 如何构建json串,并将map转为jsonObject对象的三种方式(scala)
  5. [java 怎样将map转换为json](#java 怎样将map转换为json)
  6. map与json的转换

java怎么把map转换为json

String jsons="{'a':'1','b':'2'}";
Map<String, Object> jsonmap = new HashMap<String, Object>();
jsonmap = json.setterObject(jsons, json.setMapType(HashMap.class, String.class, Object.class)); // json转map
ObjectMapper mapper = new ObjectMapper();
Object dataparamtemp = jsonmap.get("dataparam");
String dataparam = mapper.writeValueAsString(dataparamtemp); // Map转json

需要 jackson 的支持。当然,这里只是我截取我使用的一点例子,这个需要 jar 包的支持,我建议你直接搜索: Java jackson map 与 json 相互转化,而且也可以是 bean 转 json、list 转 json 都是可以的。

java 怎么把map转为json

①如果你是 Maven 工程,添加下面依赖:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>

②如果不是 Maven 工程,我帮你把 jar 包上传到云盘了,你下载后放到 lib 下面。

使用方法

package test;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
public class Test01 {
    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("1", "bb");
        map.put("2", "cc");
        map.put("3", "dd");
        JSONObject jsonObject = JSONObject.fromObject(map);
        System.out.println(jsonObject);
    }
}

如何把map转成json字符串

  1. 如图所示新建一个 demo 作为测试。
  2. 这里是第一种方法,也是推荐的一个方法,需要引入如图所示的 jar 包(这里是 Java 项目引入 jar)。
  3. 如图所示是全部的代码,首先创建一个 map,使用转换方法进行转换后转成字符串格式输出。
  4. 点击运行该 Java 文件,即可在输出控制台看到转换成功的字符串。
  5. 这是第二种方法,需要引入的 jar 包比较多,如果引入不全,在运行的时候会报不同的错。
  6. 然后使用的是 JSONObject.fromObject() 方法进行转换的,输出结果和上一个方法一致。

如何构建json串,并将map转为jsonObject对象的三种方式(scala)

众所周知,kafka 中存储的数据是经过 BASE64 加密后的 jsonObject,因此从 kafka 中读取的数据经过 base64 解码,得到的是 json 串,利用 JSONObject 的方法可以对 json 串进行解析,拿到对应的数据。那么要如何将 scala 对象或者 java 对象转换为 JsonObject 对象或 JSONObject 对象呢?(注意:JsonObject 对象和 JSONObject 对象不同,调用的 API 也不一样) 三种转换方式依赖的包源码都是用 JAVA 编写,所以构建过程如下:

三种将 java 对象转换为 jsonObject 对象的开源包有:

  1. Genson:是一个完全的 Java 和 JSON 转换的类库,提供了全面的数据绑定、流操作等。基于 Apache 2.0 协议发布。转换结果为 JsonObject 对象。
    • 使用需要先导入 Jar 包:
      import com.google.gson.{Gson, JsonParser}
      
    • 引入依赖:
      <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>2.2.4</version>
      </dependency>
      
  2. Fastjson:是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
    • 导入 jar 包:
      import com.alibaba.fastjson.JSON
      
    • 引入依赖:
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.2.8</version>
      </dependency>
      
  3. net.sf.json-lib 方式:
    • 导入 jar 包:
      import net.sf.json.JSONObject
      
    • 引入依赖:
      <dependency>
          <groupId>net.sf.json-lib</groupId>
          <artifactId>json-lib-ext-spring</artifactId>
          <version>1.0.2</version>
      </dependency>
      

java 怎样将map转换为json

1. jar包导入

①如果你是 Maven 工程,添加下面依赖:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>

2. 使用方法

package test;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONObject;
public class Test01 {
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("1", "bb");
        map.put("2", "cc");
        map.put("3", "dd");
        JSONObject jsonObject = JSONObject.fromObject(map);
        System.out.println(jsonObject);
    }
}

输出结果如下:

{"3":"dd","2":"cc","1":"bb"}

map与json的转换

使用 fastjson 实现 map 与 json 的互相转换:

new Date() 是 java.util.Date
这个里面是时间处理的参数
JSON.toJSONString(map,
    SerializerFeature.DisableCircularReferenceDetect,
    SerializerFeature.WriteDateUseDateFormat)

结果: 设置 JsonObject 的默认时间格式:

JSONObject.DEFFAULT_DATE_FORMAT="yyyy-MM-dd";

结果: