Snack3

一个轻量级、高性能的 JSON + JsonPath 框架 noear / snack3 https://github.com/noear/snack3


ONode 操作json实例

@Test
public void testONode() {
    String jsonStr = """
            {
                "name": "小明",
                "age": 18,
                "gender": "男",
                "classInfo": {
                    "name": "三年级一班",
                    "teacher": "张老师"
            }
            """;

    // 反序列化为 ONode 对象
    ONode oNode = ONode.load(jsonStr);
    System.out.println(oNode.get("name")); // 小明

    // 反序列化为对象
    Student student = ONode.deserialize(jsonStr, Student.class);
    System.out.println(student);

    // 对象序列化,输出带 "@type":"com.masikkk.common.utils.SnackTest$Student" 字段
    System.out.println(ONode.serialize(student));

    // 反序列化为 Map
    Map<String, Object> map = ONode.deserialize(jsonStr, Map.class);
    System.out.println(map);

    // Map 转 ONode
    ONode mapONode = ONode.load(map);
    System.out.println(mapONode);
}