Java 未找到org.json.JSONArray类的序列化程序,也未找到创建BeanSerializer的属性

Java 未找到org.json.JSONArray类的序列化程序,也未找到创建BeanSerializer的属性,java,json,spring,datatables,Java,Json,Spring,Datatables,找不到类org.json.JSONObject的序列化程序,也找不到创建BeanSerializer的属性(为避免异常,请禁用空Bean上的SerializationFeature.FAIL_) 当我试图获取要传递到datatable的JSON数组时,我收到了上面的错误消息 我接着回答了前面的StackOverflow问题(),看看它是否有帮助,但我仍然遇到同样的问题 @RequestMapping(value= "/loc_list", method = RequestMethod.GET)

找不到类org.json.JSONObject的序列化程序,也找不到创建BeanSerializer的属性(为避免异常,请禁用空Bean上的SerializationFeature.FAIL_)

当我试图获取要传递到datatable的JSON数组时,我收到了上面的错误消息

我接着回答了前面的StackOverflow问题(),看看它是否有帮助,但我仍然遇到同样的问题

@RequestMapping(value= "/loc_list", method = RequestMethod.GET)
@ResponseBody
public JSONArray getLocList(){
    List<Locations> locList = locations.findAll();
    JSONArray locArray = new JSONArray();
    for(int i = 0; i < locList.size(); i++) {
        JSONObject locObj = new JSONObject();
        locObjObj.put("id", locObjList.get(i).getId());
        locObjObj.put("name", locObjList.get(i).getName());
        locObjObj.put("coordinates", locObjList.get(i).getCoordinates());
        locObjObj.put("description", locObjList.get(i).getDescription());
        System.out.println("Target # " + i + ": " + locObjObj.toString());
        locArray.put(locObjObj);
    }
    System.out.println("JSON Array " + locArray);
    return locArray;
}
我已经修改了applicationContext.xml

<context:component-scan base-package="com.A21.exceptions"/>

<mvc:annotation-driven>
 <mvc:message-converters>
  <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
          <property name="objectMapper" ref="jacksonObjectMapper" />
  </bean>
 </mvc:message-converters>
</mvc:annotation-driven>
<bean id="jacksonObjectMapper" class="com.A21.exceptions.MyJSONMapper" />

为什么不直接返回
List
而不是
JSONArray
我通常使用将映射到的
ObjectMapper
POJOs@Jerry06,我想我的困惑是我是否仍然可以返回它,并且仍然让datatables呈现正确的JSON。实际上,这一更改帮助了我,并作为datatables的输入。谢谢我不太清楚@ResponseBody是如何工作的。为什么不直接返回
List
而不是
JSONArray
我通常使用将映射到的
ObjectMapper
POJOs@Jerry06,我想我的困惑是,我是否仍然可以返回该值,并且仍然让datatables呈现正确的JSON。实际上,这一更改帮助了我,并作为datatables的输入。谢谢我不太清楚@ResponseBody是如何工作的。
<context:component-scan base-package="com.A21.exceptions"/>

<mvc:annotation-driven>
 <mvc:message-converters>
  <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
          <property name="objectMapper" ref="jacksonObjectMapper" />
  </bean>
 </mvc:message-converters>
</mvc:annotation-driven>
<bean id="jacksonObjectMapper" class="com.A21.exceptions.MyJSONMapper" />
package com.A21.exceptions;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

public class MyJSONMapper extends ObjectMapper {
 public MyJSONMapper() {
    this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
 }
}