为什么我不能使用org.json.JSONObject来替换com.ibm.json.java.JSONObject?

时间:2015-04-13 14:26:17

标签: java json

我使用websphere v9beta(支持JAX-RS 2.0)来实现restful。我有以下代码。

@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",它会正常运行。但如果我使用" import org.json.JSONObject"实现Json。我收到了以下错误。

[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上重新使用com.ibm.json?

1 个答案:

答案 0 :(得分:0)

这是来自不同图书馆的两个完全不同的类。您应该阅读相关文档,并确保使用正确的库来完成您想要完成的任务。