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; } } }
相关推荐
guslegend12 小时前
AI生图第3节:gpt-image-2的提示词反解析与Json结构化生图CyL_Cly13 小时前
杀戮尖塔2mod:二次元猎宝不做菜鸟的网工15 小时前
Windows WSL 使用技巧wtsolutions17 小时前
Excel-to-JSON Local App - Secure Offline Excel to JSON Conversionheimeiyingwang17 小时前
【架构实战】Event Sourcing事件溯源详解少控科技18 小时前
小数典 - V1.0.0.1遇见火星18 小时前
Firewalld 防火墙实战指南 + TCPWrapper 七层访问控制eastyuxiao19 小时前
MMM 工具一键去水印+检测 批处理脚本(Windows/Mac 双版本)Ching·19 小时前
MAC mini上面安装虚拟机windows11的安装详细过程及其问题解决