繁体   English   中英

如何发送纯 JSON object(驻留在 model 对象内)以在 Z2A2D595E6ED9A0B234D627 引导中查看?

[英]How to send pure JSON object (which resided inside model object) to view in spring boot?

我是 spring 引导开发的新手。 我必须将我的 json object 放入我的 model object 中并将其发送到视图。 我使用 jackson 库的 ObjectMapper class 将 object 转换为字符串。

我的 controller 片段是

@GetMapping("/show-employee")
public String showEmployee(Model model) {
    ObjectMapper objectMapper = new ObjectMapper();
    String empString = objectMapper.writeValueAsString(new Employee("santhosh", "kumar", "example@gmail.com"))
    model.addAttribute("employee", empString);
    return "employees/employee-display";
}

而我的 model class 是

@Entity
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;
    
    @NotBlank
    @Size(min = 3, max = 20)
    private String firstName;

    @NotBlank
    @Size(min = 3, max = 20)
    private String lastName;
    
    @Email(message = "Please enter a valid email id")
    private String email;

    // constructors, getters and setters

在视图方面,我有如下 thymeleaf 代码来访问 JSON object

<script>
        var employeesJsonStr = "[[${employee}]]";
        console.log(employeesJsonStr);
</script>

但是在控制台 window 上,我最终得到了这个......

{&quot;id&quot;:0,&quot;firstName&quot;:&quot;santhosh&quot;,&quot;lastName&quot;:&quot;kumar&quot;,&quot;email&quot;:&quot;example@gmail.com&quot;,&quot;projects&quot;:null}

如何将 JSON 字符串传递到前端,以便我可以使用 Javascript 访问它,而无需进行 html 解码。

我了解您正在将 JSON object 转换为字符串并将其设置在 model 中。 这显然是在前端生成字符串,而不是您可以在响应中直接发送 model object 。 无论如何,它最终都会产生 JSON 数据。

@GetMapping("/show-employee" , produces = MediaType.APPLICATION_JSON_VALUE)
public List<Employee> showEmployee(Model model) {
    Employee emp = new Employee("santhosh", "kumar", "example@gmail.com"))
    model.addAttribute("employee", emp);
    return "employees/employee-display";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM