logo 范 · 拾光录
网址收集 关于作者 Github Gitee
杂文随笔4
Hexo博客:基础使用Hexo博客:Next主题Hexo博客:Next进阶使用Hexo博客:Next高级配置
前端编程3
前端基础知识16
UniApp15
Vue框架19
Java编程7
Java基础知识14
SpringBoot31
SpringMVC14
MyBatis8
SpringCloud15
RocketMQ1
MyCat1
数据库4
MySQL6
Redis7
MongoDB10
H21
Java技术栈4
知识整理分布式锁的实现方案MySQL事务MySQL的锁
软件工具箱14
IDEAGitMavenGradleNginx安装Nginx配置JMeter压测OllamaPicGoRustFSVSCodeDockerObsidianObs录制
Linux知识11
树莓派安装及使用ArchLinux:常用软件ArchLinux:基础系统安装ArchLinux:深度优化ArchLInux:图形化界面安装ArchLinux:Nirifrp内网穿透Jar启动脚本Linux常用命令VirtualBox安装CentOSVirtualBox安装Ubuntu
Python编程6
Python基础知识Python语法yolo目标检测OpenCV的使用及树莓派平台condauv
创意设计2
Blender:入门知识UI设计基础知识
AI相关9
Claude CodeHermes AgentOpenAI基本使用OpenAI工具调用OpenAI记忆管理OpenAI推理执行OpenAI开发框架Langchainllama.cpp

说明

适合不想引入其他依赖完成JSON对象转换的场景

代码示例

实现在不使用三方依赖的情况下实现JSON对象的处理

// 对象转Json数据
new ObjectMapper().writeValueAsString(result);
// Json数据转对象
new ObjectMapper().readValue(json, User.class);

ObjectMapper与Map

ObjectMapper mapper = new ObjectMapper();
// 对象转JSON字符串
String jsonString = mapper.writeValueAsString(yourObject); 
// JSON字符串转Map
Map<String, Object> map = mapper.readValue(jsonString, new TypeReference<Map<String, Object>>() {}); 


ObjectMapper mapper = new ObjectMapper();
Map<String, Object> map = mapper.convertValue(yourObject, new TypeReference<Map<String, Object>>() {});


// object转map
Map<String, Object> phoneInfoMap = new ObjectMapper().convertValue(phoneInfo, new TypeReference<>() {
});

封装为工具类

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;

/**
 * 类和JSON
 */
@Slf4j
public class ObjAndJson {

    /**
     * 对象转JSON字符
     */
    public static <T> String toJson(T obj) {
        try {
            return new ObjectMapper().writeValueAsString(obj);
        } catch (JsonProcessingException e) {
            log.error("JSON转换异常", e);
        }
        return "{}";
    }

    /**
     * JSON字符转对象
     */
    public static <T> T toObj(String json, Class<T> type) {
        try {
            ObjectMapper mapper = new ObjectMapper();
            // 忽略未知属性,即多余字段,否则会报异常
            mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            return mapper.readValue(json, type);
        } catch (JsonProcessingException e) {
            log.error("JSON转换异常", e);
        }
        return null;
    }

}

直接添加JSON对象

JsonObject json = new JsonObject();
json.addProperty("grant_type", "client_credential");
json.addProperty("appid", "wxbe2c771ca621f869");
json.addProperty("secret", "b6b460c4de6ad06fc77ef0c3dcacda71");
System.out.println(json);

直接提取JSON字符串对象

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
String json="{\"translation\":\"你好吗\"}";
//String json="{'translation':'你好吗'}";
JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
String fieldValue = jsonObject.get("translation").getAsString();
System.out.println(fieldValue); //你好吗
说明
代码示例
ObjectMapper与Map
封装为工具类
直接添加JSON对象
直接提取JSON字符串对象