我用websphere v9beta(支持JAX-RS 2.0)实现restful,下面这段代码
java
@GET @Path("/getJson1") @Produces(MediaType.APPLICATION_JSON) public JSONObject getJSON1() { String input = "This is input"; String output = "This is output"; JSONObject outputJsonObj = new JSONObject(); outputJsonObj.put("input", input); outputJsonObj.put("output", output); return outputJsonObj; }
如果用import com.ibm.json.java.JSONObject实现JsonObject是运行正常的,但是如果用import org.json.JSONObject来实现就会报如下的错
[ERROR ] Problem with writing the data, class org.json.JSONObject, ContentType: application/json
[WARNING ] Interceptor for HelloResource1 has thrown exception, unwinding now
No serializer found for class org.json.JSONObject and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )
按理说org.json跟通用啊?为什么websphere上运行会有这样的问题?
org.json的JSONObject沒有implement Serializable介面。 com.ibm.json的實作了Serializable介面。