Java Json中的Json在spring boot中不工作
我试图在JSON请求中使用JSON 例如:Java Json中的Json在spring boot中不工作,java,json,spring-boot,Java,Json,Spring Boot,我试图在JSON请求中使用JSON 例如: { "name":"newdeeeepaajlf", "category":"fsafaa", "jsonData":{ "a":"value" } } 现在,当我试图把它放在我的DTO中时 private JSONObject jsonData; 它在一个空白的JSON中转换 {} 我被困在这里面了。如果您有类似于下面的json,那么json中就会出现错误 { "name": "newdeeeepaajlf", "category
{
"name":"newdeeeepaajlf",
"category":"fsafaa",
"jsonData":{
"a":"value"
}
}
现在,当我试图把它放在我的DTO中时
private JSONObject jsonData;
它在一个空白的JSON中转换
{}
我被困在这里面了。如果您有类似于下面的json,那么json中就会出现错误
{
"name": "newdeeeepaajlf",
"category": "fsafaa",
"jsonData": {
"a": "value"
}
}
您可以将其用作一个类
public class Codebeautify {
private String name;
private String category;
JsonData jsonDataObject;
// Getter Methods
public String getName() {
return name;
}
public String getCategory() {
return category;
}
public JsonData getJsonData() {
return jsonDataObject;
}
// Setter Methods
public void setName(String name) {
this.name = name;
}
public void setCategory(String category) {
this.category = category;
}
public void setJsonData(JsonData jsonDataObject) {
this.jsonDataObject = jsonDataObject;
}
}
public class JsonData {
private String a;
// Getter Methods
public String getA() {
return a;
}
// Setter Methods
public void setA(String a) {
this.a = a;
}
}
json中的json也在spring boot中使用,这是一个非常常见的场景。使用ObjectMapper将json映射到类。我们可以使用map转换数据
public class TestModel {
private String name;
private String category;
private Map<String, Object> jsonObj;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public Map<String, Object> getJsonObj() {
return jsonObj;
}
public void setJsonObj(Map<String, Object> jsonObj) {
this.jsonObj = jsonObj;
}
}
请求
{
"category":"json",
"name":"name",
"jsonObj": {
"a": "value"
}
}
它会打印出来
json
name
{a=value}
你想在这里做什么?为什么不能添加目标实体而不是JSONObject?因为它是动态JSON,没有固定的格式。实际上,我希望将它转换为JSONObject,这样我就可以直接使用它,我不需要做额外的工作。实际上,您可以将映射转换为JSONObject。我更新了代码你的方法很好,但这是一个动态数据,我们不总是把“a”作为键。键可以是可变的,但结构应该是相同的
json
name
{a=value}