【问题标题】:how to convert json?如何转换json?
【发布时间】:2021-06-23 18:16:44
【问题描述】:

我想将名字和姓氏转换为 json 格式。

@RestController
public class studentsController {

    @GetMapping(value = "/students", produces = { MediaType.APPLICATION_JSON_VALUE } )
    @ResponseBody
    public String getWhoami(@RequestParam String firstname, @RequestParam String lastname ) {
        return "firstname:" + firstname + " lastname: " + lastname;
    }
}

我怎样才能像这些格式一样转换;

{"firstname": "value1", "lastname": "value2"}

我试图杰克逊,但我不能。

【问题讨论】:

标签: java json spring spring-boot


【解决方案1】:

您不必手动创建 json。 创建一个类:

class Student {
    private String firstname;
    private String lastname;
    
    public Student(String firstname, String lastname) {
        this.firstname = firstname;
        this.lastname  =lastname;
    }
    // getters and setter 
}
    @GetMapping(value = "/students", produces = { MediaType.APPLICATION_JSON_VALUE } )
    @ResponseBody
    public Student getWhoami(@RequestParam String firstname, @RequestParam String lastname ) {
        return new Student(firstname, lastname);
    }

您的对象将自动转换为 json。

【讨论】:

  • 调用这个api。使用邮递员或任何浏览器。这会说话。
  • 您不必手动将其转换为json。
【解决方案2】:

你试过这样的杰克逊吗?

https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind

在你的类中添加一个这样的实例:

ObjectMapper mapper = new ObjectMapper();
private ObjectMapper mapper = new ObjectMapper();

从实例中尝试这样的函数:

String jsonstr = mapper.writeValueAsString(object);

假设您的项目中已经有了 jackson 库(jar 文件)

这里是示例类:


public class SampleClass{
      private ObjectMapper mapper = new ObjectMapper();

      public String sampleMethodToJSONString(Student student){
          return mapper.writeValueAsString(student);
      }

}

【讨论】:

  • 你能说得更具体点吗?
【解决方案3】:

您可以更改返回数据类型以使用 Map 代替 String 或使用 ResponseBody>

【讨论】:

    猜你喜欢
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2020-04-11
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多