json解析从前端传入的数据

前端页面用ajax请求访问后台方法 比如传的data数据是例如data数据类型是{userGroupId:"10000",alarmItems:[{id:"1000",type:"1"},{id:"10001",type:"2"}]}, 用json解析

一般js文件写法是date:{} 但是由于这个写法有 {alaremItems:[]}数组 所以js写法一般为data:JSON.stringify(jsondata), 这个jsondata是申明的数组

var jsondata={userGroupId:"10000",alarmItems:[{id:"1000",type:"1"},{id:"10001",type:"2"}]}; 然后在ajax 请求中的 data:JSON.stringify(jsondata),就可以了这个是前端传输

具体的如下: var jsondata={userGroupId:"10000",alarmItems:[{id:"1000",type:"1"},{id:"10001",type:"2"}]};

        $.ajax({

          type:"post",

          contentType:"application/json;charset=utf-8",

          url:"http://具体的项目到具体的方法",

          data:JSON.stringify(jsondata),

          async:true,

          dataType:"json",

          success:function(data){

            console.log(data);          

  }

        error:function(err){ 

}   

          });

后端解析json 首先第一步接受 data数据一般在controller中的方法中这样写  @RequestBody LinkedHashMap<String,Object> list用这个接受{userGroupId:"10000",alarmItems:[{id:"1000",type:"1"},{id:"10001",type:"2"}]};前端传过来的 data,LinkedHashMap<String,Object> 对象

@ResponseBody

@RequestMapping(value="save")

pulbic AjaxJson save(@RequestBody LinkedHashMap<String,Object> list){

  AjaxJson  j=new AjaxJson();

 String jsonStr=JSON.toJSONString(list);//-json字符串

    JSONObject json=JSON.parseObject(jsonStr);//json对象

 String uid=json.getString("userGroupId");//----获取对应的值

 JSONArray alarmItems=json.getJSONArray("alarmItems");//---获取数组值 JSONArray是json数组 []中括号的内容

for(int i=0;i<alarmItems.size();i++){

  JSONObject alarmItem=alarmItems.getJSONObject(i); //----JSONObject这个是 json的对象就是[]中的{}内容

   String idstr=alarmItem.getString("id");//---获取ID的值

  String type=alarmItem.getString("type");//---获取type的值

  //---后面的就是对数据的处理 增删改查 方法

}

j.setMsg("用户操作成功");

return j;

}

下面讲解一下AjaxJson这个类的作用和写法

具体代码如下:

public class AjaxJson(){

  private boolean success=true;//--是否成功

  private String errorCode="-1";//--错误代码

  private String msg="操作成功";//--- 提示信息

  private LinkendHashMap<String,Object>  body=new LinkedHashMap();//---封装JSON的map

       //----省略   set和get的方法生成;

  //-- 其中又写了两个其他的方法  如下:

  public void put(String key,Object value){

    body.put(key,value);

       }

  public void remove(String key){

    body.remove(key);

  }

  @JsonIgnore//--返回对象时忽略此属性   JsonMapper类继承了 ObjectMapper这个类  

  public String getJsonStr(){

  String json=JsonMapper.getInstance().toJson(this);

  return json;

  }

 

 

 

}

 

转载于:https://www.cnblogs.com/xzcBY/p/7210289.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值