我所擁有的就是請求URI,我必須從中解析查詢參數。我在做什麼是將它們添加到JSON/HashMap和類似下面的如何在java中有效地解析查詢參數?
String requestUri = "name=raju&school=abcd&college=mnop&color=black&fruit=mango";
所有我需要做的就是,終於將其分配給變量,如以下
String name = "raju";
String school = "abcd";
String college = "mnop";
String color = "black";
String fruit = "mango";
所以我再次取解析請求URI像下面
String[] paramsKV = requestUri.split("&");
JSONArray jsonKVArr = new JSONArray();
for (String params : paramsKV) {
String[] tempArr = params.split("=");
if(tempArr.length>1) {
String key = tempArr[0];
String value = tempArr[1];
JSONObject jsonObj = new JSONObject();
jsonObj.put(key, value);
jsonKVArr.put(jsonObj);
}
}
的另一種方式是填充在散列映射相同,並且獲得相同的。另一種方法是將requestUri
字符串與正則表達式匹配並獲得結果。
說一個例子來得到school
的值我必須匹配字符串school
的起始點和下一個&
之間的值 - 這聽起來不太好。
- 什麼是更好的方法來解析查詢字符串在Java中?
- 我怎樣才能以更好的方式處理以下事情?
我需要構建另一個哈希表一樣從上面的結果如下像
Map<String, String> resultMap = new HashMap<String, String>;
resultMap.put("empname", name);
resultMap.put("rschool", school);
resultMap.put("empcollege", college);
resultMap.put("favcolor", color);
resultMap.put("favfruit", fruit);
爲簡單起見所有我需要做的就是通過命名來解析查詢參數,構建一個HashMap key
以不同的方式提交。我怎麼能以簡單的方式做到這一點?任何幫助都非常感謝。