JSON.parse()【从一个字符串中解析出json对象】
例子:
//定义一个字符串
var data='{"name":"goatling"}'
//解析对象
JSON.parse(data)
结果是:
name:"goatling"
JSON.stringify()【从一个对象中解析出字符串】
var data={name:'goatling'}
JSON.stringify(data)
结果是:
'{"name":"goatling"}'
JSON.parse()【从一个字符串中解析出json对象】
例子:
//定义一个字符串
var data='{"name":"goatling"}'
//解析对象
JSON.parse(data)
结果是:
name:"goatling"
JSON.stringify()【从一个对象中解析出字符串】
var data={name:'goatling'}
JSON.stringify(data)
结果是:
'{"name":"goatling"}'
$.ajax({
type: "post",
contentType:"application/json",
url: "repairs/saveDispatches",
data: JSON.stringify(data),
success: function(data){
if(!data.success){
alertError("派工失败");
}else{
alertSuccess("派工成功");
}
})
首先得转化json的数据成为json格式的字符串 如上:
有三种方法得到json中的信息:
1.
request.getReader();
private JSONObject parserJson(HttpServletRequest request){ StringBuffer buffer = new StringBuffer(); String line = null; try { BufferedReader reader = request.getReader(); while((line = reader.readLine()) != null) { buffer.append(line); } } catch (Exception e) { e.printStackTrace(); return null; } return JSONObject.parseObject(buffer.toString()); }
String id =jsonObject.getString("id");
2、
request.getInputStream();
public static JSONObject receivePost(HttpServletRequest request) { // 读取请求内容 InputStream inputStream=null; InputStreamReader inputStreamReader=null; BufferedReader br = null; StringBuffer sb=new StringBuffer(); try { // br = new BufferedReader(new InputStreamReader((request.getInputStream(), "utf-8"))); inputStream=request.getInputStream(); inputStreamReader=new InputStreamReader(inputStream); br=new BufferedReader(inputStreamReader); String line = null; while ((line = br.readLine()) != null) { sb.append(line); } br.close(); inputStreamReader.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); return null; } //将json字符串转换为json对象 JSONObject json=JSONObject.parseObject(sb.toString()); return json; }
String id =jsonObject.getString("id");
3、
@RequestBody
public AjaxJson getEvidencesList(@RequestBody DebtorWechatEntity debtorWechatEntity, HttpServletRequest request) { String message = "操作成功"; AjaxJson j = new AjaxJson(); System.out.println(debtorWechatEntity.getOpenid()); JSONObject jsonObject=parserJson(request); System.out.println(jsonObject); List list= settlementevidenceService.getEvidenceServicel(debtorWechatEntity.getOpenid()); if (list==null||list.isEmpty()){ message="该人没有相应结清凭证"; } j.setMsg(message); j.setObj(list); return j; }
request.getParameter()、 request.getInputStream()、request.getReader()这三种方法是有冲突的,因为流只能被读一次。
@RequestBody注解后就算是读了一遍。
multipart/form-data”
application/x-www-form-urlencoded
application/json