2013-04-24 42 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