Java &引用;空";值序列化失败
我正在使用Jersey客户端访问rest服务 我正在使用Java &引用;空";值序列化失败,java,json,jersey-client,Java,Json,Jersey Client,我正在使用Jersey客户端访问rest服务 我正在使用JSONObject并在其中设置一个“null”文本。序列化时失败 经过调查,我发现JSONNull.equals()方法具有此“null”.equals(value),然后它将该值视为JSONNull对象 然后,JSONNull#isEmpty()抛出异常 net.sf.json.JSONObject params = new net.sf.json.JSONObject(); params.put("PGHIDENTIF
JSONObject
并在其中设置一个“null”文本。序列化时失败
经过调查,我发现JSONNull.equals()
方法具有此“null”.equals(value)
,然后它将该值视为JSONNull
对象
然后,JSONNull#isEmpty()
抛出异常
net.sf.json.JSONObject params = new net.sf.json.JSONObject();
params.put("PGHIDENTIFIE", "null");
当序列化时,它抛出:
Caused by: com.sun.jersey.api.client.ClientHandlerException: org.codehaus.jackson.map.JsonMappingException: Object is null (through reference chain: net.sf.json.JSONObject["PGHIDENTIFIE"]->net.sf.json.JSONNull["empty"])
如何序列化JSONObject中的“null”值?谢谢
DefaultClientConfig defaultClientConfig = new DefaultClientConfig();
defaultClientConfig.getClasses().add(JacksonJsonProvider.class);
Client client = Client.create(defaultClientConfig);
WebResource webResource = client.resource(apiUrl);
ClientResponse response =
webResource.path(apiUrl).accept("application/json")
.type("application/json").post(ClientResponse.class, params);
请回答您的问题,并包含尝试序列化
参数的代码。Lutz,代码已添加。