zoukankan      html  css  js  c++  java
  • 后台如何解析json

    1、以前倒是没有怎没遇到过需要后台解析的,由于json传到后台实际上是传的一个字符串通常用到批量删除时

    var rows = $('#tt').datagrid('getSelections');
    var size = rows.length;
    var ids = "";
    for(var i = 0; i < size; i ++){
    ids += rows[i].id + ",";//将id添加到数组中
    }

    if(ids != ""){
    $.messager.confirm('确认', '你确定要删除这些数据吗?', function(r){
    if (r){
    // exit action;
    var params = {'ids':ids};

    $.ajax({
    type:"POST",
    url:"roleses/delete",
    data:params,
    success:function(datas){
    var data = JSON.parse(datas);

    $.messager.show({
    title:'提示',
    msg:data.msg,
    timeout:5000,
    });

    然后传给后台的String ids与其映射对应传值

    public void deletePower(String ids,PrintWriter out) {

    String [] st=ids.split(",");

    Integer[] idss=new Integer[st.length];通过这两步解析出来

    }

    但是如果遇到传过来的是个对象有很多属性呢方法如下:

    menuData=[]
    for(var i=0;i<row;i++){
    var menu={"id":selected[i].id,//传了id、fk_roles_id、state三个值
    "fk_roles_id":rows[0].id,
    "state":1
    }
    menuData.push(menu)
    }
    for(var i=0;i<nodes.length;i++){
    var mehe={"id":nodes[i].id,
    "fk_roles_id":rows[0].id,
    "state":1
    }
    menuData.push(mehe)
    }


    var aToStr=JSON.stringify(menuData);//json必须通过这步转换成String格式了才能传过去


    $.ajax({
    type:"POST",
    url:"powerroles/updata",
    data:{'menuData':aToStr},
    dataType: "json",
    success:function(datas){

    $.messager.show({
    title:'提示',
    msg:datas.msg,
    timeout:5000,
    });
    }
    })

    后台:

    public void updatePowerRoles(String menuData, PrintWriter out){

    Messager message=new Messager(true, "成功修改", null);

    JSONArray jsonArray = JSONArray.fromObject(menuData);
    Integer[] integers=new Integer[jsonArray.size()];
    JSONObject jsonobject2 = null;
    for(int i=0;i<jsonArray.size();i++){
    jsonobject2=jsonArray.getJSONObject(i);

    integers[i]=jsonobject2.getInt("id");

    }

    Integer in=jsonobject2.getInt("fk_roles_id");

    }//不过记着下关于JSONArray的jar包

  • 相关阅读:
    使用SDL2显示一张图片,SDL2上手贴
    两种方法操作其它mac应用的窗口
    golang子进程的启动和停止,mac与linux的区别
    自己动手,装一个液晶电视
    在Ubuntu上搭建kindle gtk开发环境
    macOS的OpenCL高性能计算
    量子计算及量子计算的模拟
    iPhone多次输入错误密码锁机后刷机恢复(原有内容会丢失)
    Day 2 总结
    Day 13 linux 的输入输出与管道的使用
  • 原文地址:https://www.cnblogs.com/niuxi/p/5797812.html
Copyright © 2011-2022 走看看