当前位置: 首页 > 知识库问答 >
问题:

Springboot中的json解析错误

屠晟睿
2023-03-14

我有一个简单的springboot程序,它接受json并打印出来。主要目的是使用json验证程序包,但当前的上下文是基本的请求解析。问题是,当我试图将输入请求映射到一个类实体时,它给出了以下错误:“org.springframework.http.converter.httpMessageEndableException”,。

>

  • 控制器(Hello.java):

        @RequestMapping(method = RequestMethod.POST , consumes = "application/json")
        public ResponseEntity<String> welcome(
                @RequestBody DemoEntity demoEntity )
        {
            System.out.println(demoEntity.getName());
            String response ="success";
            return new ResponseEntity<>(response, HttpStatus.CREATED);
        }
    }
    

    Java类实体:

    公共类DemoEntity实现可序列化{

        @JsonProperty("name")
        private String name;
        @JsonProperty("no")
        private int no;
    
        public int getNo() {
            return no;
        }
    
        public void setNo(int no) {
            this.no = no;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        DemoEntity(String name)
        {
            this.name = name;
        }
    }
    
    • 完全例外:

    {时间戳:1497594485418,状态:400,错误:错误请求,异常:org.springframework.http.converter.HttpMessageNotReadableExc0019,消息:JSON解析错误:意外字符 ('-' (代码45)),数值:预期数字(0-9)跟随减号,为有效的数值;嵌套异常是com.fasterxml.jackson.core.JsonParseExcture:意外字符 ('-' (代码45))在数值:期望数字(0-9)跟随减号,为有效的数值\n在[Source:<-plhd--0/>;行: 1,列: 3]","路径":"/欢迎"}

    正文中的示例输入请求:{“name”:“Roopesh”,“no”:123123}

  • 共有2个答案

    杨良平
    2023-03-14

    你发送了错误的请求。使用curl-X POST localhost:8090/one-H'内容类型:application/json;charset=UTF-8'-H'名称:test'-H'邮递员令牌:8e87369d-e2e2-ab25-eadd-f40f0682e593'-d'{“名称”:“Roopesh”,“否”:“123123”}'

    1. 不要发送demoEntity=。正文应该只包含json本身
    2. 使用-d键发送数据<代码>-F用于多部分主体。这有点不同
    翟聪
    2023-03-14

    如果您使用Postman客户端来测试您的Rest API,则有可能您必须在选项卡“表单数据”而不是“原始”下添加正文。

     类似资料:
    • 代码: =========== 返回json数据的php代码 另一个URL返回以下数据 ===================现在,我遇到以下错误(还提到console.log resp) ======================= 我想要的是1。解析Json响应。“顶级Cat1”将在其下方列出标题列表。 我做错了什么。

    • 问题内容: 尝试对mongoexport使用查询会导致错误。但是mongo-client会评估相同的查询,而不会出错。 在mongo-client中: 使用mongoexport: 产生的错误: 但是预先在mongoexport中进行乘法: 作品! 为什么mongo在这两种情况下对查询的评估不同? 问题答案: 该命令行实用程序支持传递查询 JSON 格式,但您要评估 的JavaScript 在您的

    • 和 是我用来获取JSON并对其进行解析的类。但是当我运行第一个时,它会报告以下堆栈跟踪: 它告诉我添加JsonReader。将lenient(true)设置为我的代码,但我的代码不使用JsonReader。那么如何将setLenient(true)添加到代码中? 编辑:添加API响应(格式化):

    • 我有以下命令。我想循环使用此键和值,即对于冰/冷的项目,打印“值” 我试过这个: 却给我错误

    • 我一直得到一个JSON解析器错误,每次我尝试连接从Android到php帐户。下面你会看到我得到的错误: 谁能帮帮我吗。。。 PHP代码: Android代码: Android代码: 公共JSONObject getJSONFromUrl(字符串url,列表参数){ 注册用户JSONObject PhP警告: php代码: 链接89是$no_of_rows 用户表结构: mysql_error:

    • 2)尝试通过执行两个string_replace来修复JSON字符串 需要注意的一点是,JSON字符串很长(大约50KB),并且包含很多条目。