Spring boot 创建一个JSONObject:Spring boot

Spring boot 创建一个JSONObject:Spring boot,spring-boot,Spring Boot,我想创建一个JSONObject: @RequestMapping(value = "/test", method = RequestMethod.GET) @ResponseBody public JSONObject Test() { JSONObject test = new JSONObject(); test.put("name","caroline"); return test; } 结果给了我: {&qu

我想创建一个
JSONObject

@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody 
  public JSONObject  Test() {

 JSONObject test = new JSONObject();
 test.put("name","caroline");
 return test;
}
结果给了我:

{"map":{"name":"caroline"}} 
但我一直在等待这样的事情:

{"name":"caroline"}

我不知道问题出在哪里,我只是遵循了创建类的方法

类MyResponseClass{
私有字符串名称;
公共MyResponseClass(字符串名称){
this.name=名称;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
}
首字母:


@RestController
类MyController{
@GetMapping(“/test”)
公共MyResponseClass getMyResponseClass(){
最终MyResponseClass测试=新MyResponseClass(“caroline”);
回归试验;
}
}

我建议您阅读本文:

您可以通过创建一个类来完成

类MyResponseClass{
私有字符串名称;
公共MyResponseClass(字符串名称){
this.name=名称;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
}
首字母:


@RestController
类MyController{
@GetMapping(“/test”)
公共MyResponseClass getMyResponseClass(){
最终MyResponseClass测试=新MyResponseClass(“caroline”);
回归试验;
}
}

我建议您阅读这篇文章:

我在一个示例spring boot项目中尝试了您的代码,但发现了错误

No converter for [class org.json.JSONObject]
这个错误的原因解释得很清楚。重申一下答案,JSONObject类没有getter,因此会出现错误。默认情况下,spring boot starter web依赖项具有Jackson web支持,可以将任何POJO类转换为JSON对象。因此,正如@süleyman的答案所示,使用POJO是正确的处理方法

在这种情况下,您不能使用POJO类,因为响应中的字段对于每个请求都是不同的。例如,您必须发送

{"a": "b"}
对于一个响应和

{"c": "d"}
对于另一个响应,您可以始终使用这样的映射

@RequestMapping(value=“/test”,method=RequestMethod.GET)
@应答器
公共地图测试(){
Map test=newhashmap();
测试。输入(“姓名”、“卡罗琳”);
回归试验;
}
反应是这样的

{“name”:“caroline”}

我在一个示例spring boot项目中尝试了您的代码,但发现了错误

No converter for [class org.json.JSONObject]
这个错误的原因解释得很清楚。重申一下答案,JSONObject类没有getter,因此会出现错误。默认情况下,spring boot starter web依赖项具有Jackson web支持,可以将任何POJO类转换为JSON对象。因此,正如@süleyman的答案所示,使用POJO是正确的处理方法

在这种情况下,您不能使用POJO类,因为响应中的字段对于每个请求都是不同的。例如,您必须发送

{"a": "b"}
对于一个响应和

{"c": "d"}
对于另一个响应,您可以始终使用这样的映射

@RequestMapping(value=“/test”,method=RequestMethod.GET)
@应答器
公共地图测试(){
Map test=newhashmap();
测试。输入(“姓名”、“卡罗琳”);
回归试验;
}
反应是这样的

{“name”:“caroline”}

我希望你说的是
org.json

如果您真的想使用JSONObject来创建JSON,那么下面的代码可以工作。只是可以将返回类型从JSONObject更改为String

@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public String  Test() {
    JSONObject test = new JSONObject();
    test.put("name","caroline");
    return test.toString();
}

我希望你说的是
org.json
package

如果您真的想使用JSONObject来创建JSON,那么下面的代码可以工作。只是可以将返回类型从JSONObject更改为String

@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public String  Test() {
    JSONObject test = new JSONObject();
    test.put("name","caroline");
    return test.toString();
}
你可以试试这个

1-在pom.xml中添加此依赖关系

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.1</version>
</dependency>
}

2-Java对象到JSON

ObjectMapper objectMapper = new ObjectMapper();
Car car = new Car("yellow", "renault");
objectMapper.writeValue(new File("target/car.json"), car);
结果必须是这样的:

{"color":"yellow","type":"renault"}
3-JSON到Java对象

String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
Car car = objectMapper.readValue(json, Car.class);
你可以试试这个

1-在pom.xml中添加此依赖关系

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.1</version>
</dependency>
}

2-Java对象到JSON

ObjectMapper objectMapper = new ObjectMapper();
Car car = new Car("yellow", "renault");
objectMapper.writeValue(new File("target/car.json"), car);
结果必须是这样的:

{"color":"yellow","type":"renault"}
3-JSON到Java对象

String json = "{ \"color\" : \"Black\", \"type\" : \"BMW\" }";
Car car = objectMapper.readValue(json, Car.class);

是的,我在使用org.json包,你可以在这里找到我真正的问题,如果我做“test.toString();”在我的情况下,我的geojson不正确,它会给我一些看起来不像geojsonYa的东西。我在使用org.json包,你可以在这里找到我真正的问题,如果我做“test.toString();”在我的情况下,我的geojson不正确,你可以在这里找到我真正的问题,你可以看看:你可以在这里找到我真正的问题,你可以看看:你可以在这里找到我真正的问题,你可以看看:你可以在这里找到我真正的问题,你可以看看:你可以在这里找到我真正的问题,你可以看一下:你可以在这里找到我真正的问题,你可以看一下:我面临着这样一个问题,但它不是在同一个主题上,事实上,我努力通过替换函数来解决它如果找不到解决的问题,你可以试着这样做祝你好运@work你可以在这里找到我真正的问题,你能看一看吗:我面临着这样的问题,但它不是在同一个主题上,事实上,我通过替换函数来解决它,如果你的问题没有解决,你可以尝试这种方法祝你好运@work