32-Java中字符串、json、map之间的互相转换

马铃薯1 / 2024-02-06 / 原文

Java中字符串、json、map之间的互相转换

 

1. map 转 String、jsonObject对象

package map;

import java.util.HashMap;
import java.util.Objects;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class MapDemo3 {
    public static void main(String[] args){

        HashMap<String, Object> map = new HashMap<>();

        map.put("name", "马铃薯");
        map.put("age", 28);
        System.out.println(map);

        // 1.map转string
        System.out.println("\n======================map转string对象======================");
        String jsonString = JSON.toJSONString(map);
        System.out.println(jsonString);

        // 2.map转jsonObject
        System.out.println("\n======================map转jsonObject对象======================");
        JSONObject jsonObj = JSONObject.parseObject(JSON.toJSONString(map));
        System.out.println(jsonObj);
        // public Object get(Object key):根据指定的键,获取对应的值
        System.out.println(jsonObj.get("name") + "\t" + jsonObj.get("age"));
    }
}

 

2. String 转 map、jsonObject对象

package map;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;

public class MapDemo4 {
    public static void main(String[] args){

        String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}";
        System.out.println(jsonString);

        // 3.String转jsonObject对象
        System.out.println("\n======================String转jsonObject对象======================");
        JSONObject parseObject = JSONObject.parseObject(jsonString);
        System.out.println(parseObject);

        // 4.String转map对象
        System.out.println("\n======================String转map对象======================");
        HashMap<String, String> map = JSONObject.parseObject(jsonString, HashMap.class);
        map.put("department", "研发部");
        System.out.println(map);
    }
}

 

3.  jsonObject转 map、String 对象

package map;

import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;

public class MapDemo5 {
    public static void main(String[] args){

        String jsonString = "{\"name\":\"马铃薯\",\"age\":\"28\"}";
        JSONObject  jsonObject = JSONObject.parseObject(jsonString);
        System.out.println(jsonObject);

        // 3.jsonObject转String对象
        System.out.println("\n======================jsonObject转String对象======================");
        String jsonString2 = jsonObject.toJSONString();
        System.out.println(jsonString2);

        // 4.jsonObject转map对象
        System.out.println("\n======================jsonObject转map对象======================");
        HashMap<String, String> map = JSONObject.parseObject(jsonObject.toJSONString(), HashMap.class);
        map.put("department", "研发部");
        System.out.println(map);
    }
}

 

Fastjson简介

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。

Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景

 

Fastjson包的引入方式

1)maven 引入

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.2.51</version>

</dependency>

2)本地 jar包引入

下载网址:Maven Repository: com.alibaba » fastjson (mvnrepository.com)

更详细的fastjson的详细API参考了这篇文章:阿里巴巴fastjson下载_com.alibaba.fastjson 下载-CSDN博客

选择版本

 进入对应版本的github官网

 选择标准版的jar包进行下载

 

 

 

在IDEA中导入刚刚下载的jar包

1)在项目路径,创建lib目录,将jar包复制进去

 2)在 File 下找到 Project Structure

3)在左侧Modules选项中,进行添加操作(选择JARs or Directories),将刚刚的jar包添加进去

 

4)显示以下状态,则代表jar包添加成功

 

Fastjson包的导入

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;