Android中用JSONj进行网络数据交互

  • 格式:doc
  • 大小:30.50 KB
  • 文档页数:2

服务器端:
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String acceptjson = "";
BufferedReader br = new BufferedReader(new
InputStreamReader((ServletInputStream)request.getInputStream(), "utf-8"));
StringBuffer sb = new StringBuffer("");
String temp;
while ((temp = br.readLine()) != null)
{
sb.append(temp);
}
br.close();
acceptjson = sb.toString();
System.out.println(acceptjson);
JSONArray js=JSONArray.fromObject(acceptjson);
PrintWriter out = response.getWriter();
// 封装到实体类中
VehicleFaultInfo v = new VehicleFaultInfo();
for (Object ob : js) {
JSONObject jo=JSONObject.fromObject(ob);
v.setName(jo.getString("name"));
v.setCreateTime(jo.getString("createTime"));
v.setIdno(jo.getString("idno"));
v.setFaultRecord(jo.getString("faultRecord"));
v.setPenalty(jo.getDouble("penalty"));
v.setLicense(jo.getString("license"));
}
if (vedao.save(v))
// 响应保存结果
out.print("1");
else
// 响应保存结果
out.print("0");
out.flush();
out.close();
out.flush();
out.close();
}
Android客户端:
private StringEntity makeEntity_JSON(){
String name = myEditText1.getText().toString();
String idno = myEditText2.getText().toString();
String license = myEditText3.getText().toString();
String penalty = myEditText4.getText().toString();
String faultRecord = changeType(mySpinner.getSelectedItemPosition());
Date date = new Date();
String dateStr = new SimpleDateFormat("yy-MM-dd HH:mm").format(date);
JSONArray jsarray=new JSONArray();
JSONObject js=new JSONObject();
try {
js.put("name", name);
js.put("idno", idno);
js.put("license", license);
js.put("penalty", Double.parseDouble(penalty));
js.put("faultRecord", faultRecord);
js.put("createTime", dateStr);
jsarray.put(js);
return new StringEntity(jsarray.toString(),"utf-8");
} catch (JSONException e) {
e.printStackTrace();
return null;
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
private boolean submit(){
String url=HttpUtil.BASE_URL+"/servlet/VehicleServlet";
HttpPost request = HttpUtil.getHttpPost(url);
request.setEntity(makeEntity_JSON());
String result= HttpUtil.queryStringForPost(request);
if(result!=null&&result.equals("1"))return true;
return false;
}。