如何在休息服务中读取json数组或Json对象?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在休息服务中读取json数组或Json对象?相关的知识,希望对你有一定的参考价值。

我为下面提到的休息服务做了一个XmlHttpRequest。我通过xhr.send()方法向休息服务发送一组对象。

var object =[  
   {  
      "name":"John",
      "age":31,
      "city":"New York"
   },
   {  
      "name":"John",
      "age":31,
      "city":"New York"
   },
   {  
      "name":"John",
      "age":31,
      "city":"New York"
   }
];
      $scope.onSubmit = function () {
        var xhr = new XMLHttpRequest();
        var url = "http://localhost:8080/abcd/xyz/qwer";
        var params = '';
        xhr.open("POST", url , true);
        xhr.setRequestHeader("Content-type", "application/json");
        xhr.setRequestHeader("Accept","application/json");
        xhr.onreadystatechange = function () {
            if (this.readyState === 4 && this.status === 200) {

            }
        };
    xhr.send(JSON.stringify(object) );
};

当我没有JsonObject其参数ping这个休息服务然后它到达休息服务但是当在休息服务中保持JsonObject作为其争论时它给出了不支持的媒体类型415错误。在休息服务中,我正在尝试读取发送的json通过send()方法但它导致错误。

@POST
@Path("/qwer")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response Service(JsonArray object) {
    String name = object[0].name;
    String age = object[0].age;
    return Response.status(200).entity(" read data").build();

}

当我没有JsonObject其参数ping这个休息服务然后它到达休息服务但是当在休息服务中保持JsonObject作为其争论时它给出了不支持的媒体类型415错误。在休息服务中,我正在尝试读取发送的json通过send()方法如何在休息服务中读取JsonArray或JsonObject?

答案

不要忘记定义/配置Jackson MessageConverter

public class AppConfig extends WebMvcConfigurerAdapter {
     ...     

     @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

            converters.add(new MappingJackson2HttpMessageConverter());
            super.configureMessageConverters(converters);
        }
}

以上是关于如何在休息服务中读取json数组或Json对象?的主要内容,如果未能解决你的问题,请参考以下文章

Django:从 QueryDict 读取 JSON 对象数组

如何在JSON.NET中读取json对象值中的long值数组

如何使用与 NewtonSoft (JSON.Net) 组件中的 JSON 匹配的 Swift 类从/向 JSON 读取/写入对象数组?

调用 wcf 休息服务并以 xml 或 json 格式返回数据

如何从 appsettings.json 文件中的对象数组中读取值

为啥在发布或更新时重新加载页面以及使用带有 json 服务器的假休息 api 的项目