在我的JSP應用程序,我已經稱爲Web服務從我得到的JSON fromat數據像下面字符串匹配和JSP請與JSON格式的web服務數據
代碼用於獲取JSON數據是
String recv ="";
String recvbuff ="";
URL jsonpage = new URL("http://107.109.6.236:3000/api/tokens.json");
URLConnection urlcon = jsonpage.openConnection();
BufferedReader buffread = new BufferedReader(new InputStreamReader(urlcon.getInputStream()));
while ((recv = buffread.readLine()) != null)
recvbuff += recv;
buffread.close();
下面是recvbuff輸出。
[{"id":1,"session_id":"11611fba0cd57f2f0e62acf746d7f60b","link":"","created_at":"2013- 12-10T13:13:31.000Z","updated_at":"2013-12-10T13:13:31.000Z"},
{"id":2,"session_id":"848960680b00502fc3e4c9cf0652a5fe","link":"","created_at":"2013-12-10T13:13:31.000Z","updated_at":"2013-12-10T13:13:31.000Z"},
{"id":3,"session_id":"101155b2c4cef0034804ed9b6806422e","link":"","created_at":"2013-12-10T13:13:31.000Z","updated_at":"2013-12-10T13:13:31.000Z"},
{"id":4,"session_id":"ec1373a7bdd291f60266ab6f8445c23b","link":"","created_at":"2013-12-10T13:13:31.000Z","updated_at":"2013-12-10T13:13:31.000Z"},
{"id":5,"session_id":"3eb8b185f0cbd71ff004b30453c90f54","link":"","created_at":"2013-12-10T13:13:31.000Z","updated_at":"2013-12-10T13:13:31.000Z"}]
,我有一個token_id像3eb8b185f0cbd71ff004b30453c90f54
將匹配與的一個SESSION_ID。如果不匹配確切的字符串,它將重定向到錯誤頁面。
爲此,我使用下面的代碼。
if(recvbuff.contains(token_id)){
out.println("<br>Hello <b>"+token_id+"</b>! done");
}else{
response.sendRedirect(redirectURL);
}
如何獲得jsp頁面中的精確匹配?
是'recvbuff'包含JSON字符串的字符串?或者它是解析JSON的JSON對象嗎?目前尚不清楚如何對對象recvbuff進行比較,因爲我們不知道該對象是什麼! –
@DanTemple recvbuff是一個包含JSON字符串的字符串 – sukanta
也許增加'recvbuff'的編碼方式會有所幫助。 聽起來好像它可以是JSON數組中所有對象的字符串,也可以是包含數組中單個json對象的字符串。在第一種情況下,如果token_id位於數組中的任何位置,則總是匹配。在第二種情況下,您需要遍歷數組並單獨檢查每個字符串。 –