[英]Read JSON in java servlet
我想在servlet中讀取此json
{
"text" : "ABC",
"msg" : "9551667858",
"all":[
{"name":"one"},
{"name":"two"}
],
"obj":{
"firstname":"John",
"lastname":"Doe"
}
}
現在我想將此值分別分配給string,jsonarray和json對象
這就是我的方式
PrintWriter out = response.getWriter();
try {
String newObj = request.getParameter("text");;
JSONObject jObj = new JSONObject(request.getParameter("obj"));
JSONArray jArray=new JSONArray(request.getParameter("all"));
out.print(newObj);
} catch (Exception e) {
e.printStackTrace();
out.write(e.toString());
}
response.setContentType("application/json");
您的代碼部分正確。 String newObj = request.getParameter("jsondata");
是正確的。 然后,你必須創建jObj
從newObj
字符串。
String jsonString = <your json String>
JSONObject jsonObj = new JSONObject(jsonString);
JSONObject allObj = jsonObj.getJSONObject("obj");
JSONArray allArray = jsonObj.getJSONArray("all");
首先從請求對象中讀取數據:
String jsonStr = request.getParameter("jsondata");
使用org.json庫解析它並創建JsonObject:-
JSONObject jsonObj = new JSONObject(jsonStr );
現在,使用此對象獲取您的值:-
String id = jsonObj.getString("text");
您可以在這里看到完整的示例:-
如果您的String數據類似,
{
"text" : "ABC",
"msg" : "9551667858",
"all":[
{"name":"one"},
{"name":"two"}
],
"obj":{
"firstname":"John",
"lastname":"Doe"
}
}
它會變得像
String jsonData = request.getParameter("jsondata");
解析為JSONObject是。
JSONObject jsonObject = new JSONObject(jsonData); // put "String"
您可以像這樣獲取JSONArray,
JSONArray jsonArray = jsonObject.getJSONArray("all");
祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.