定义Java类(node中包含node):
需要注意的是:类的属性名必须与json数据一致,否则无法解析。
package com.example.demo.POJO;
import lombok.Data;
import org.springframework.stereotype.Component;
@Data
@Component
public class OperateJson {
private Jsondata data;
private String action;
public OperateJson() {
super();
}
public OperateJson(String action, Jsondata data) {
super();
this.action = action;
this.data = data;
}
}
package com.example.demo.POJO;
import lombok.Data;
import org.springframework.stereotype.Component;
@Data
@Component
public class Jsondata {
private String sbj;
private String prd;
private String obj;
public Jsondata() {
super();
}
public Jsondata(String sbj, String prd, String obj) {
super();
this.sbj = sbj;
this.prd = prd;
this.obj = obj;
}
}
自己写的测试demo:
应用了以前定义的json工具类:https://blog.csdn.net/weixin_39189376/article/details/100203480
package com.example.demo.controller;
import com.example.demo.util.JsonUtil;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.example.demo.POJO.OperateJson;
public class test {
public static void main(String[] args) {
ObjectNode node = JsonUtil.createObject();
node.put("action", "remove");
ObjectNode node1 = JsonUtil.createObject();
node1.put("sbj", "Hospital");
node1.put("prd", "rdf:subClassOf");
node1.put("obj", "s:Orfanization");
node.set("data", node1);
OperateJson json = new OperateJson();
json = JsonUtil.fromObject(node, json.getClass());
System.out.println(json.getAction());
System.out.println(json.getData().getSbj());
}
}
输出结果:
欢迎大家关注我的公众号!pavel随笔,分享工作时遇见的问题与解决方案,再就是一些学习笔记。