H3BPM前端请求后端数据处理记录

定我对象或是数组时, 有两种写法

//这样写也可以
var invArr = new Array();
var obj = new Object();
//这样写也可以
var invArr = [];
var obj = {};
//对象加入数组中 使用push
//对象加入数组中
invArr.push(obj);
//对象中定义数组
obj.invArr = new Array() //或 [],意为obj对象中,存在一个invArr数组

跨系统传送数据时, 都是string格式. 前端JQ传值到后台, 组合完JQ对象后,还是要转成string

//JSON对象转成字符串
JSON.stringify(obje);
//文本取值后转成浮点小数
parseFloat(val);
//浮点小数取值位数,Math.round会四舍五入
Math.round(0.1345*100)/100

 读取URL中参数值

var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
 if (url.indexOf("?") != -1) {
            var str = url.substr(1);
             strs = str.split("&");
              for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
                }
            }
//从数组中取参数值
var val = theRequest['IsMobile'];

前端传来JSON数组字符串, C#接收转数组或对象

//C#中,接收到字符串数组时转C#数组
CusParament[] cusArr = JsonConvert.DeserializeObject<CusParament[]>(jsonObj);
//C#中,接收到JSON对象字符串,转成C#中JSON对象
            JObject obj = new JObject();
            try
            {
                obj = (JObject)JsonConvert.DeserializeObject(jsonObj);
            }
            catch (Exception)
            {
                r._message = "传入JSON格式有误!";
                return r;
                
            }

C#中定义的匿名对象, 序列化成JSON

/定义匿名对象 
var data = new { 
                        iIndex=dr["iIndex"].ToString(),
                        name=dr["Name"].ToString(),
                        dDate=dr["dDate"].ToString(),
                        cContent=dr["cContent"].ToString()  
                    };
//序列化匿名对象后,加入JSON数组
                    jarrComment.Add(JsonConvert.SerializeObject(data));
                }
                dr.Close();
//将JSON数组序列化成字符串
                string a = JsonConvert.SerializeObject(jarrComment);
//C#返回的JSON字符串带引号和符斜杠, 这里用一个笨办法处理, 把多余的清除掉
a = a.Replace("\\", ""); //清除斜杠
a = a.Replace("\"{", "{"); //清除大扩号前双引号
a = a.Replace("}\"", "}"); //清除大扩号后双引号

 

posted @ 2020-05-18 09:38  杰克-李  阅读(174)  评论(0)    收藏  举报