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

时间:2013-09-05 05:23:43

标签: json web-services

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

需要网址: http://somelink.com/somemethod?param= { “startingAT”: “2013年4月23日”, “endingAT”: “2013年4月30日”}

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

我为参数创建了一个JSON字符串:{“startingAT”:“2013-04-23”,“endingAT”:“2013-04-30”}即与我需要的完全相同。< / p>

当我执行此URL时,我会收到非法的字符异常。请帮助!!!!

1 个答案:

答案 0 :(得分:0)

您必须首先使用URLEncoder.encode()编码JSON字符串。

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

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

如果/ somemethod处理程序支持它,甚至更好,通过POST请求发送它。