当前位置: 首页 > 面试题库 >

无法读取JSON:字段名称输入意外结束

羊冠玉
2023-03-14
问题内容

我正在开发Spring MVC Web应用程序。我还没有开发UI。因此,我正在使用Advance Rest Client工具测试我的服务。

我的控制器

@Controller
@RequestMapping("/testController")
public class TestController {

@Autowired
private TestService testService;

@RequestMapping(value = "/test", method = RequestMethod.POST, consumes = { MediaType.APPLICATION_JSON_VALUE },  produces = { MediaType.APPLICATION_JSON_VALUE })
public
@ResponseBody void testMethod(@RequestBody TestParam testParam) {

    String tenant = testParam.getTenantCode();
    String testString = tenant + " is the tenant";
}
}

TestParam.java类

public class TestParam {

private String testVar;
private String tenantCode;

public String getTenantCode() {
    return tenantCode;
}

public void setTenantCode(String tenantCode) {
    this.tenantCode = tenantCode;
}

public String getTestVar() {
    return testVar;
}

public void setTestVar(String testVar) {
    this.testVar = testVar;
}
}

我使用Advance Rest Client和标题发送请求,并且请求链接已正确设置。

{"testVar":"Test","tenantCode":"DEMO"}

请求链接

http://localhost:8080/myApp/controller/testController/test

当TestParam具有一个veriable时,它可以正常工作。当它变为两个或更多时,将给出错误,并且不会命中testMethod。

exception is com.fasterxml.jackson.core.JsonParseException:  Unexpected end-of-input in field name at [Source:org.apache.catalina.connector.CoyoteInputStream@7b24d498; line: 1, column: 43]
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.readJavaType(MappingJackson2HttpMessageConverter.java:181)
at org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.read(MappingJackson2HttpMessageConverter.java:173)
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:135)

我去写了更多文章,但仍然找不到答案。


问题答案:

增加Content-Length:header工作



 类似资料:
  • 问题内容: 我正在研究一些代码来解析来自HTTP响应的JSON数据。我的代码看起来像这样: 变量中的json 如下所示: 但是,不是零。当我打印出来时,上面写着。是什么原因造成的?JSON似乎有效。此错误与我的自定义结构有关吗? 提前致谢! 问题答案: 所述的结果是一个语法错误在JSON输入(可能丢失,或)。该错误不取决于您解码到的值的类型。 我在操场上使用示例JSON输入运行了代码。它运行没有错

  • 嗨,我必须读取一个xml文件,在代码的一部分中有一些字段标签,名称如示例中所述 我只想读取名为“link\u pdf”的字段 如果我用这个密码 我可以读取值,但在某些情况下这不是一个好的工作,如何通过字段名访问值? 不是工作

  • 我试图使用下面的代码从一个api网站获取一个JSON文件,但是当我使用下面的代码获取时,我得到一个错误,说“JSON输入意外结束”

  • 问题内容: 我正在使用fetch()从api服务器获取数据。我的错误如下所示: 你能告诉我我在做什么错。 问题答案: 一种用于响应请求到跨源资源具有“不透明”的响应类型。如果在尝试将响应转换为JSON之前记录响应,您将看到一种“不透明”的类型。 不透明类型被列为“严重受限”。 不透明的已过滤响应是已过滤的响应,其类型为“不透明”,URL列表为空列表,状态为0,状态消息为空字节序列,标头列表为空,主

  • 我使用fetch()从api服务器获取数据。我的错误是这样的: 你能告诉我我做错了什么吗。

  • 我正在尝试解析从Movie DB返回的JSON数据。我收到一个错误,告诉我我收到以下错误: MovieReq.Open('get','https://api.themoviedb.org/3/movie/299537?api_key=',false); 我还有其他XMLHttpRequests可以很好地返回JSON数据。这些请求使用API的discover函数。 这是产生问题的函数 {“成人”:f