2013-04-24 43 views
1

Facebook服务器端登录发送的形式回应:的Java parse_str的选择 - 为HTTP响应

access_token=USER_ACCESS_TOKEN&expires=NUMBER_OF_SECONDS_UNTIL_TOKEN_EXPIRES 

有没有办法在Java方便地解析这个,不是编写自定义代码等?类似于parse_str在PHP中。

编辑:这个问题与查询字符串或请求无关,它是关于解析上述格式的请求正文。

+0

即使它没有关闭为“重复”,它也没有足够说明你想要做什么。你可以扩展*你想做什么*具体。首先提供原始数据的示例,以及您希望如何查看。 – Jesse 2013-04-30 18:16:30

+0

这个问题很简单。我想解析一个HTTP **响应**,其中响应的主体是给定的格式。显然,我可以按照@gerrytan的建议编写自定义代码,但是我想知道是否有一些Java类已经处理了这个解析。 – arahant 2013-04-30 18:24:34

+1

您的评论*有道理*,但您的问题没有;作为一个建议:我认为你应该改写你的问题以符合你在上面评论中所说的内容。现在,回答你的问题:不,看起来没有任何内置的类/函数可以实现这一点,但是**(!),有一个[Apache HTTPMessageParser](http:// hc .apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/io/HttpMessageParser.html)似乎这样做。 – Jesse 2013-04-30 18:42:33

回答

2

可以使用字符串分割方法和地图,像这样写一个简单的解析器:

Map<String,String> fbParam = new HashMap<String,String>(); 
String[] pairs = fbResp.split("&"); 
for(String pair : pairs) { 
    String[] keyval = pair.split("="); 
    fbParam.put(keyval[0], keyval[1]); 
} 
+0

其实这就是我会做的,但似乎很奇怪,没有内置的方法来做到这一点。 – arahant 2013-04-24 16:35:38