当前位置: 首页 > 面试题库 >

用Java解码URI查询字符串

巫马翰翮
2023-03-14
问题内容

我需要解码包含查询字符串的URI;预期的输入/输出行为类似于以下内容:

abstract class URIParser
{       
    /** example input: 
      * something?alias=pos&FirstName=Foo+A%26B%3DC&LastName=Bar */
    URIParser(String input) { ... }
    /** should return "something" for the example input */
    public String getPath(); 
    /** should return a map 
      * {alias: "pos", FirstName: "Foo+A&B=C", LastName: "Bar"} */
    public Map<String,String> getQuery();
}

我尝试使用java.net.URI,但是它似乎可以对查询字符串进行解码,因此在上面的示例中,我留下的是“
alias = pos&FirstName = Foo + A&B = C&LastName = Bar”,因此对于“&
“是查询分隔符,或者是查询组件中的字符。

编辑:
我刚刚尝试了URI.getRawQuery(),但它没有进行编码,因此我可以使用来拆分查询字符串&,但是我该怎么办?Javascript具有encodeURIComponent,我似乎无法在Java中找到相应的方法。

有什么建议?我宁愿不使用任何新库。


问题答案:

参见类URLDecoder



 类似资料:
  • 如果嵌套更好,以Microsoft为例,如果我想为客户1创建一个新订单,我应该发送到或,正文中包含还是同时支持这两个命令?

  • 问题内容: 我对使用Java中的json-simple库是陌生的,并且已经经历了编码和解码示例。复制编码示例很好,但是我无法使解码示例与混合类型JSON一起使用。 我的问题之一是库中有太多类,这些类没有正确记录,因此我没有源(以便能够通读并理解它们的目的)。因此,我努力了解如何使用许多此类。 阅读此示例后: 从json-simple官方解码教程中,我尝试解码此JSON: 我正在编写以下代码进行解码

  • 问题内容: 说我有一个网址 并且我有一个用户输入的查询,例如: 随机词银行 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但没有一个是正确的。 问题答案: 应该是要走的路。你只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符和参数名称-值分隔符都不进行编码。 请注意,查询参数中的空格由+而不

  • 假设我有一个URL 并且我有一个用户输入的查询,例如: 随机字500英镑银行$ 我希望结果是一个正确编码的URL: 实现这一点的最佳方法是什么?我尝试了并创建URI/URL对象,但结果都不是很对。

  • 问题内容: 我有一个网址 并且我有一个用户输入的查询,例如: 我希望结果是正确编码的URL: 实现此目标的最佳方法是什么?我尝试创建URI / URL对象,但是没有一个是正确的。 问题答案: 可以使用 。您只需要记住只对单个查询字符串参数名称和/或值进行编码,而不对整个URL 进行编码,请确保对查询字符串参数分隔符&和参数名称-值分隔符都不进行编码=。 请注意,查询参数中的空格由而不是表示,这是合

  • 我对REST和谷歌云endpoint非常陌生。我遵循了App Engine上的Endpoints框架入门教程,并成功执行了教程中所述的API查询: curl--head"Content-Type: apps/json"--request POST--data'{"message":"hello world"}'http://localhost:8080/_ah/api/echo/v1/echo 但