后端接收Json数据

前端传入后端对象中有JSON数据,后端想用String该如何接收?

VO

img


直接用string接收报错

img


数据格式

img

对你而言, 这整个数据都可以用 String 接收, 然后 再将 String 的 json串 转 java pojo对象;
当然 后端其实可以直接定义 java pojo对象,前端 传的时候,直接把 js对象 转 json数据传后台即可

前端传递的时候先JSON.stringify(obj)转为字符串,后端接收的时候在解析为json

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7515457
  • 这篇博客你也可以参考下:用String类型接收Json格式数据
  • 除此之外, 这篇博客: 后端如何接受前端传过来的Json数据中的 ③ 后端接收前端Json字符串,用String接收 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  •     @RequestMapping(value = "/testJson5",method = {RequestMethod.POST})
        @ResponseBody
        public String testJson5(@RequestBody String user) throws IOException {
            System.out.println(user); // {"username":"hahah","password":"123456"}
            ObjectMapper mapper = new ObjectMapper();
            User user1 = mapper.readValue(user, User.class);
            System.out.println(user1.getUsername());//hahah
            System.out.println(user1.getPassword());//123456
            return "aaaa";
        }
    
  • 您还可以看一下 黄菊华老师的微信小程序Json数据使用专题课程中的 微信小程序入门到就业课(全栈课)学习说明【建议看下】小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    对于该问题,可以使用常见的Json库,比如Jackson、FastJson等进行解析。以Jackson为例,具体实现步骤如下:

    1.在项目中导入Jackson的相关依赖,如果使用Maven项目可以在pom.xml中添加如下依赖:

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

    2.在Controller中使用@RequestBody注解接收前端传来的Json数据,并将其转换为Java对象。例如:

    @PostMapping("/test")
    @ResponseBody
    public String test(@RequestBody String jsonStr) throws JsonProcessingException {
        // 将Json字符串转换为Java对象
        ObjectMapper objectMapper = new ObjectMapper();
        MyObject obj = objectMapper.readValue(jsonStr, MyObject.class);
    
        // 对Java对象的操作
        // ...
    
        // 将Java对象转换为Json字符串
        String resultJson = objectMapper.writeValueAsString(obj);
    
        return resultJson;
    }
    

    其中,MyObject类是用于描述前端传来的Json数据的Java类,可以根据Json数据的结构定义对应的MyObject类。如果Json数据的结构比较复杂,可以使用嵌套的自定义类来描述。

    需要注意的是,在尝试将Json字符串转换为Java对象(即使用objectMapper.readValue(jsonStr, MyObject.class))时,如果Json字符串中有一些属性在Java对象中没有对应的属性,会抛出UnrecognizedPropertyException异常。这种情况可以通过在对象中添加@JsonProperty注解来解决,例如:

    public class MyObject {
        @JsonProperty("name")
        private String userName;
        // ...
    }
    

    以上就是使用Jackson库对前端传来的Json数据进行解析的代码实现步骤。如果使用其他的Json库,大体的实现方式应该类似。如果实现过程中有其他问题,可以再行搜索相关资料解决。