在Java Web開(kāi)發(fā)中,我們常常需要從HTTP請(qǐng)求中獲取參數(shù)。如果這些參數(shù)是以JSON格式傳遞過(guò)來(lái)的,我們?cè)撊绾卧贘ava中獲取呢?使用getparameter方法即可。下面是一段示例代碼:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BufferedReader reader = request.getReader(); // 獲取請(qǐng)求數(shù)據(jù)流
StringBuilder jsonStr = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
jsonStr.append(line);
}
String jsonString = jsonStr.toString(); // 轉(zhuǎn)換為字符串
JSONObject jsonObject = JSONObject.fromObject(jsonString); // 將字符串轉(zhuǎn)換為JSON對(duì)象
String name = jsonObject.getString("name"); // 獲取JSON中的參數(shù)
// 其他處理邏輯
}
從上述代碼中可以看出,我們首先通過(guò)request.getReader()
獲取請(qǐng)求數(shù)據(jù)流,之后將數(shù)據(jù)流轉(zhuǎn)換成字符串,再將字符串轉(zhuǎn)換為JSON對(duì)象。最后,我們可以通過(guò)jsonObject.getString()
方法獲取JSON中的參數(shù)。
需要注意的是,getparameter
方法只能獲取URL中的查詢字符串,在POST請(qǐng)求中無(wú)法獲取JSON參數(shù)。因此,需要使用request.getReader()
方法讀取請(qǐng)求體中的JSON數(shù)據(jù)。
上一篇python 文件處理類
下一篇get_json