Could|Could not find acceptable representation (已解决)

解决方案1:

@ResponseBody 方法的返回类型由JSONObject改为 Object, return时直接返回Object;
修改springmvc-servlet.xml, 增加 messageConverters
json -->

需要jacksonjar包支持: jackson-core-lgpl-1.2.1.jar和
jackson-core-lgpl-1.2.1.jar。

解决方案2:
@ResponseBody 方法的返回类型由JSONObject改为 String,
return时直接返回JSONObject.fromObject(object).toString();
此时如有中文会出现乱码,解决方法如下:
json -->

解决方案3:
返回类型为JSONObject, 编写一个自己converter.
package javacommon.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.nio.charset.Charset; import org.springframework.http.HttpInputMessage; import org.springframework.http.HttpOutputMessage; import org.springframework.http.MediaType; import org.springframework.http.converter.AbstractHttpMessageConverter; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotWritableException; public class JaksonConverter extends AbstractHttpMessageConverter { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); public JaksonConverter() { super(new MediaType("application", "json", DEFAULT_CHARSET)); }@Override protected boolean supports(Class clazz) { // TODO Auto-generated method stub return false; } @Override protected Object readInternal(Class clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { logger.info(clazz.getSimpleName()); InputStream inputStream=inputMessage.getBody(); StringBuilder stringBuilder = new StringBuilder(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line = null; while((line = bufferedReader.readLine()) != null){ stringBuilder.append(line); } logger.info(stringBuilder.toString()); return stringBuilder; } @Override protected void writeInternal(Object t, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { logger.info(t.getClass().getSimpleName()); // HashMap // JSONObject logger.info(t.toString()); OutputStream os=outputMessage.getBody(); os.write(t.toString().getBytes("utf-8")); os.flush(); } }
【Could|Could not find acceptable representation (已解决)】将方案1中的converter换成编写的即可。

    推荐阅读