Java 未找到org.json.JSONArray类的序列化程序,也未找到创建BeanSerializer的属性
找不到类org.json.JSONObject的序列化程序,也找不到创建BeanSerializer的属性(为避免异常,请禁用空Bean上的SerializationFeature.FAIL_) 当我试图获取要传递到datatable的JSON数组时,我收到了上面的错误消息 我接着回答了前面的StackOverflow问题(),看看它是否有帮助,但我仍然遇到同样的问题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)
@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);
}
}