通过URI传递JSON

时间:2010-04-15 12:48:13

标签: java json rest

我正在尝试使用JSON封装数据来创建基于REST的Web服务。我的问题是当我在URI中传递JSON的字符串版本时,它会变成这样的:%7B%22coal%22:100,%22ele%22:1500.1%7D。

我想知道是否有任何Java函数用于在转义和非转义版本之间进行转换,因此我可以解析字符串。

5 个答案:

答案 0 :(得分:1)

您应该在请求正文中发送任何内容。仅在URI中发送查询参数。

答案 1 :(得分:1)

是的,请使用URLEncoder和/或URLDecoder

答案 2 :(得分:1)

那将是URLDecoder。但除非你做错了什么,否则你不应该使用它,因为Servlet API中的方法通常会返回已经解码过的字符串。

答案 3 :(得分:0)

你不应该解码URL转义文本,网络服务器自己做,它应该对你完全透明。

正如有些人已经指出你使用URLDecode来取消URL字符串

如果在代码的某些方面,您手动转义JSON字符串,这可能是问题,因为它被编码了2次。

答案 4 :(得分:0)

您的参数是平的(没有列表/对象/等)。

  • 对于HTTP GET请求,尝试将数据作为查询参数而不是编码的JSON
  • 传递
  • 对于HTTP POST请求,您不会遇到JSON的编码问题