-2

我已经解析了一个 JSON 响应并得到了下面的字符串:

String queryString = "AQB=1&v1=somev1data&v25=somev25data&URL=http://www.someurl.com/configure/getvalues/request1=req1Passed&data2=somedataPassed&ce=UTF-8&ARB=1";

当我拆分上述查询字符串时,输出应为:

AQB=1
v1=somev1data
v25=somev25data
URL=http://www.someurl.com/configure/getvalues/request1=req1Passed&data2=somedataPassed
ce=UTF-8
ARB=1

注意:
queryString 总是变化的,URL 参数也总是变化的。AQB,v1.....v30,p1....p30,ce,pre,pe,URL,ARB 都是预定义的变量名。

4

2 回答 2

1

除非 URL 参数经过正确的 URL 编码,否则这是不可能的,因此“&”字符将被转义,以免被解释为字段分隔符。

字符串应该这样编码:

String queryString = "AQB=1&v1=somev1data&v25=somev25data&URL=http%3A%2F%2Fwww.someurl.com%2Fconfigure%2Fgetvalues%2Frequest1%3Dreq1Passed%26data2%3DsomedataPassed&ce=UTF-8&ARB=1";

由于它在您的问题中被格式化,因此无法连续解析字符串。

于 2013-05-14T13:00:16.997 回答
0
StringTokenizer st = new StringTokenizer(queryString, "&");
while (st.hasMoreTokens()) {
  System.out.println(st.nextToken());
}

正如另一张海报所暗示的那样,现在唯一剩下的就是处理 URL

于 2013-05-14T13:12:34.030 回答