2010-04-15 118 views
2

我想创建一个基于REST的Web服务,并使用JSON封装数据。我的问题是,当我在URI中传递字符串版本的JSON时,它会变成如下所示:%7B%22coal%22:100,%22ele%22:1500.1%7D。通过URI传递JSON

我想知道是否有任何函数Java之间转换转义和非转义版本,所以我可以解析字符串。

回答

1

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

1

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

0

你不应该解码URL转义的文本,Web服务器是由它自己做的,它应该是完全透明的。

正如一些人已经指出使用URLDecode反转义URL字符串

如果你的代码的某些时候,你手动转义JSON字符串这可能是问题作为其得到编码的2倍。

0

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

  • 对于HTTP GET请求,尝试通过数据查询参数,而不是编码的JSON
  • 对于HTTP POST请求,你不会有一个编码问题JSON