无法将json字符串添加到具有特殊字符的url。非法字符异常

无法将json字符串添加到具有特殊字符的url。非法字符异常,json,web-services,Json,Web Services,我这里有个情况,我需要打一个网络服务电话。我有一个url,需要将一些参数添加到此url。这些参数具有需要发送的开始日期和结束日期。所以我用JSON解析它并创建一个url 所需的url: {“开始”:“2013-04-23”,“结束”:“2013-04-30”} 当我使用WebResource执行此url时,如: WebResource=client.resource(url); ClientResponse response=webResource.accept(“application/jso

我这里有个情况,我需要打一个网络服务电话。我有一个url,需要将一些参数添加到此url。这些参数具有需要发送的开始日期和结束日期。所以我用JSON解析它并创建一个url

所需的url: {“开始”:“2013-04-23”,“结束”:“2013-04-30”}

当我使用WebResource执行此url时,如: WebResource=client.resource(url); ClientResponse response=webResource.accept(“application/json”).get(ClientResponse.class); 字符串输出=response.getEntity(String.class)

我为参数制作了一个JSON字符串,它是:{“startingAT”:“2013-04-23”,“endingAT”:“2013-04-30”},即与我需要的完全相同


当我执行这个url时,我得到一个非法字符异常。请帮忙

必须首先使用URLEncoder.encode()对JSON字符串进行编码

当然,更好的选择是使用URL编码而不是JSON,例如:

http://somelink.com/somemethod?start=2013-04-23&end=2013-04-30

如果/somemethod处理程序支持它,那么最好通过POST请求发送它。

MyURL for WS-needs.OK,然后尝试编码它。引号将被编码为%22,服务器应能正常接收。