public class JacksonUtilTest { public static void main(String[] args) { // 你的原始 JSON 字符串 String jsonStr = "{" + " \"clsAttrs\": [" + " {" + " \"productionCatlogLevel\": {" + " \"name\": \"3333333\"," + " \"brandInternationalName\": \"2222\"," + " \"states\": {" + " \"code\": \"停用\"," + " \"cnName\": \"停用\"" + " }" + " }" + " }" + " ]" + "}"; // 示例1:解析 JsonNode 并获取 name(你的核心需求) JsonNode jsonNode = JacksonUtil.toJsonNode(jsonStr); String name = JacksonUtil.getStringValue(jsonNode, "clsAttrs[0].productionCatlogLevel.name"); System.out.println("获取的name值:" + name); // 输出:3333333 // 示例2:获取嵌套的 states.cnName String cnName = JacksonUtil.getStringValue(jsonNode, "clsAttrs[0].productionCatlogLevel.states.cnName"); System.out.println("获取的cnName值:" + cnName); // 输出:停用 // 示例3:对象转 JSON(格式化输出) User user = new User("张三", 25); String userJson = JacksonUtil.toJson(user, true); System.out.println("对象转JSON:\n" + userJson); // 示例4:JSON 转复杂类型(List<Map>) String listJson = "[{\"name\":\"李四\",\"age\":30},{\"name\":\"王五\",\"age\":35}]"; List<Map<String, Object>> list = JacksonUtil.fromJson(listJson, new TypeReference<List<Map<String, Object>>>() {}); System.out.println("JSON转List:" + list); } // 测试用实体类 static class User { private String name; private Integer age; public User(String name, Integer age) { this.name = name; this.age = age; } // 省略 getter/setter(Jackson 序列化需要) public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } }
相关推荐
hzhsec13 分钟前
密码爆破日志分析与隧道流量检查humors22131 分钟前
[原创]AI工具:手机文件查杀病毒工具charlie1145141912 小时前
通用GUI编程技术——Win32 原生编程实战(二十二)——GDI 位图操作:BitBlt、StretchBlt 与图像处理Y3ai9 小时前
Windows 11 Docker Desktop 保姆级安装使用教程春日见12 小时前
Tool文件夹:瑞士军刀库ward RINL12 小时前
Redis 安装及配置教程(Windows)【安装】Milu_Jingyu15 小时前
Windows与Ubuntu文件共享详细指南开开心心就好16 小时前
免费好用:PPT演示计时提醒工具芳草萋萋鹦鹉洲哦19 小时前
NSSM注册服务并设置开机自启动loriloy20 小时前
Python 环境管理工具 pyenv-win (windows版本)