c#[WebMethod]方法接收前端传入的JsonArray的方法

这篇具有很好参考价值的文章主要介绍了c#[WebMethod]方法接收前端传入的JsonArray的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、第一种方法:可以这样接收前端传入的jsonArray字符串到一个类的数组中,然后遍历该数组取值
这种方法需要创建PointConfig类

 class PointConfig
        {
            public string ptcrossing { get; set; }
            public string ptcrossingId { get; set; }
            public string camId { get; set; }
            public string pointid { get; set; }
            public string ptdirection { get; set; }
            public string ptGoSet { get; set; }
            public string ptGoEn { get; set; }
            public string ptLeftSet { get; set; }
            public string ptLeftEn { get; set; }
            public string ptRightSet { get; set; }
            public string ptRightEn { get; set; }
            public string ptname { get; set; }
            public string ptmainX { get; set; }
            public string ptmainY { get; set; }
            public string ptsubX { get; set; }
            public string ptsubY { get; set; }
            public string ptframediffX { get; set; }
            public string ptframediffY { get; set; }
            public string ptgreenlightX { get; set; }
            public string ptgreenlightY { get; set; }
            public string ptredlightX { get; set; }
            public string ptredlightY { get; set; }
            public string ptmainvalid { get; set; }
            public string ptsubvalid { get; set; }
            public string ptframediffvalid { get; set; }
            public string ptqueuelengthvalid { get; set; }
            public string ptcheckmethod { get; set; }
            public string ptchanneltypeA { get; set; }
            public string ptchanneltypeB { get; set; }
            public string cameraName { get; set; }
            public string xgr { get; set; }
        }
    [WebMethod]
    public static string checkPointConfigUpdateRecord(string pointObj)
    {
        PointConfig[] pointConfigs = JsonConvert.DeserializeObject<PointConfig[]>(pointObj);
       for (int i = 0; i < pointConfigs.Length; i++)
       {
            string crossingName_str = pointConfigs[i].ptcrossing.Trim();
            string crossingId_str = pointConfigs[i].ptcrossingId.Trim();
            string cameraId_str = pointConfigs[i].camId.Trim();
            string cameraName_str = pointConfigs[i].cameraName.Trim();
            string dir_str = pointConfigs[i].ptdirection.Trim();
            string i_go_str = pointConfigs[i].ptGoSet.Trim();
            string i_left_str = pointConfigs[i].ptLeftSet.Trim();
            string i_right_str = pointConfigs[i].ptRightSet.Trim();
            string laneName_str = pointConfigs[i].ptname.Trim();
            string main_x_str = pointConfigs[i].ptmainX.Trim();
            string main_y_str = pointConfigs[i].ptmainY.Trim();
            string mainPointValid_str = pointConfigs[i].ptmainvalid.Trim();
            string sub_x_str = pointConfigs[i].ptsubX.Trim();
            string sub_y_str = pointConfigs[i].ptsubY.Trim();
            string subPointValid_str = pointConfigs[i].ptsubvalid.Trim();
            string frame_x_str = pointConfigs[i].ptframediffX.Trim();
            string frame_y_str = pointConfigs[i].ptframediffY.Trim();
            string frameValid_str = pointConfigs[i].ptframediffvalid.Trim();
            string green_x_str = pointConfigs[i].ptgreenlightX.Trim();
            string green_y_str = pointConfigs[i].ptgreenlightY.Trim();
            string red_x_str = pointConfigs[i].ptredlightX.Trim();
            string red_y_str = pointConfigs[i].ptredlightY.Trim();
            string queueValid_str = pointConfigs[i].ptqueuelengthvalid.Trim();
            string calcMathod_str = pointConfigs[i].ptcheckmethod.Trim();
            string channelType_A_str = pointConfigs[i].ptchanneltypeA.Trim();
            string channelTypee_B_str = pointConfigs[i].ptchanneltypeB.Trim();
           string xgr_str = pointConfigs[i].xgr.Trim();
            string xgsj_str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            sb.Append("insert into 

pointConfig(crossingName,crossingId,cameraId,cameraName,dir,i_go,i_left,i_right,laneName,main_x,main_y,mainPointValid,sub_x,sub_y,subPointValid,frame_x,frame_y,frameValid,green_x,green_y,red_x,red_y,queueValid,calcMathod,channelType_A,channelTypee_B,xgr,xgsj) " +
                "values('" + crossingName_str + "','" + crossingId_str + "','" + cameraId_str + "','" + cameraName_str + "','" + dir_str + "','" + i_go_str + "','" + i_left_str + "','" +
                i_right_str + "','" + laneName_str + "','" + main_x_str + "','" + main_y_str + "','" + mainPointValid_str + "','" + sub_x_str + "','" +
                sub_y_str + "','" + subPointValid_str + "','" + frame_x_str + "','" + frame_y_str + "','" + frameValid_str + "','" + green_x_str + "','" + green_y_str + "','" + red_x_str + "','" + red_y_str + "','" + queueValid_str + "','" + calcMathod_str + "','" +
                channelType_A_str + "','" + channelTypee_B_str + "','" + xgr_str + "','" + xgsj_str + "');");
            }
 }

二、第二种方法:可以这样接收前端传入的jsonArray字符串到一个类的数组中,然后遍历该数组取值

 
 [WebMethod]
    public static string checkPointConfigUpdateRecord(string pointObj)
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();

        object[] jsonArray = (object[])serializer.DeserializeObject(pointObj);
        StringBuilder sb = new StringBuilder();
        if (jsonArray.Length<1)
        {
            return "{\"result\":false}";
        }
        for(int i = 0; i < jsonArray.Length; i++)
        {
            object pointConfig = jsonArray[i];
            // 然后将该元素转换为JSON对象
            string json1 = serializer.Serialize(pointConfig);
            Dictionary<string, object> json = (Dictionary<string, object>)serializer.DeserializeObject(json1);

            string crossingName_str = json["ptcrossing"].ToString().Trim();
            string crossingId_str = json["ptcrossingId"].ToString().Trim();
            string cameraId_str = json["camId"].ToString().Trim();
            string cameraName_str = json["cameraName"].ToString().Trim();

            string dir_str = json["ptdirection"].ToString().Trim();
            string i_go_str = json["ptGoSet"].ToString().Trim();
            string i_left_str = json["ptLeftSet"].ToString().Trim();
            string i_right_str = json["ptRightSet"].ToString().Trim();
            string laneName_str = json["ptname"].ToString().Trim();

            string main_x_str = json["ptmainX"].ToString().Trim();
            string main_y_str = json["ptmainY"].ToString().Trim();
            string mainPointValid_str = json["ptmainvalid"].ToString().Trim();

            string sub_x_str = json["ptsubX"].ToString().Trim();
            string sub_y_str = json["ptsubY"].ToString().Trim();
            string subPointValid_str = json["ptsubvalid"].ToString().Trim();

            string frame_x_str = json["ptframediffX"].ToString().Trim();
            string frame_y_str = json["ptframediffY"].ToString().Trim();
            string frameValid_str = json["ptframediffvalid"].ToString().Trim();

            string green_x_str = json["ptgreenlightX"].ToString().Trim();
            string green_y_str = json["ptgreenlightY"].ToString().Trim();
            string red_x_str = json["ptredlightX"].ToString().Trim();
            string red_y_str = json["ptredlightY"].ToString().Trim();
            string queueValid_str = json["ptqueuelengthvalid"].ToString().Trim();



            string calcMathod_str = json["ptcheckmethod"].ToString().Trim();
            string channelType_A_str = json["ptchanneltypeA"].ToString().Trim();
            string channelTypee_B_str = json["ptchanneltypeB"].ToString().Trim();

            string xgr_str = json["xgr"].ToString().Trim();
            string xgsj_str = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");


        
            sb.Append("insert into pointConfig(crossingName,crossingId,cameraId,cameraName,dir,i_go,i_left,i_right,laneName,main_x,main_y,mainPointValid,sub_x,sub_y,subPointValid,frame_x,frame_y,frameValid,green_x,green_y,red_x,red_y,queueValid,calcMathod,channelType_A,channelTypee_B,xgr,xgsj) " +
            "values('" + crossingName_str + "','" + crossingId_str + "','" + cameraId_str + "','" + cameraName_str + "','" + dir_str + "','" + i_go_str + "','" + i_left_str + "','" +
            i_right_str + "','" + laneName_str + "','" + main_x_str + "','" + main_y_str + "','" + mainPointValid_str + "','" + sub_x_str + "','" +
            sub_y_str + "','" + subPointValid_str + "','" + frame_x_str + "','" + frame_y_str + "','" + frameValid_str + "','" + green_x_str + "','" + green_y_str + "','" + red_x_str + "','" + red_y_str + "','" + queueValid_str + "','" + calcMathod_str + "','" +
            channelType_A_str + "','" + channelTypee_B_str + "','" + xgr_str + "','" + xgsj_str + "');");

        }

        int jg = SqlHelper.ExecuteNoneQuery(sb.ToString(), new SqlParameter[] { });

        if (jg >= 0)
        {
            return "{\"result\":true}";
        }
        else
        {

            return "{\"result\":false}";
        }
  }

秋风写于淄博,业务咨询与技术交流:Q375172665文章来源地址https://www.toymoban.com/news/detail-616678.html

到了这里,关于c#[WebMethod]方法接收前端传入的JsonArray的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java接收前端请求体方式

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! ## Java接收前端请求体的方式 请求体(Request Body)是HTTP请求中的一部分,用于传输请求的数据;在HTTP请求中,请求体通常用于POST、PUT等需要传递数据的请求方法 表单数据(Form Data):请求体以键值对的形式表示,使用

    2024年02月11日
    浏览(34)
  • springboot后端接收前端传数组参数方法

    与@RequestBody不同,@RequestParam传递的数组中有多少个值,便排排下来写便是 (注意微操,参数名需为key的名称为@RequestParam括号里的名称,而不是定义的数组名)

    2024年02月16日
    浏览(43)
  • 前端传值,java后端接收

    var arr = [ 0, 1, 2]; var myJSON = JSON.stringify(arr); 此时myJSON字符串就是’[0,1,2]\\\',传给后台接受 前端 后端方法1(使用spring注解@RequestBody接收): 后端方法1的对象UserDto 后端方法2(使用JSON.parseArray()把前端 [{“loginAct”:111,“loginPwd”:1111},{“loginAct”:222,“loginPwd”:2222}] 数据转化为LI

    2024年02月13日
    浏览(42)
  • C# 根据前台传入实体名称,动态查询数据

    项目中时不时遇到查字典表等数据,只需要返回数据,不需要写其他业务,每个字典表可能都需要写一个接口给前端调用,比较麻烦,所以采用下面这种方式,前端只需传入实体名称即可,例如:SysUser 如果需要加载多个类库(以下是其中一种方式) 1、先获取DBContext里面的对象

    2023年04月13日
    浏览(35)
  • C# - 能否让 SortedSet.RemoveWhere 内传入的委托异步执行

    若想充分利用 RemoveWhere 带来的性能优势,建议传入判断是否删除元素的委托内采取同步操作。若一定要在该委托内使用异步操作,可以采用本文中绕行的方法,但摈弃了 RemoveWhere 所带来的性能优势。 (本文由 GPT 辅助撰写) 在.NET中, SortedSetT 上的 RemoveWhere 方法本身不支持

    2024年04月26日
    浏览(24)
  • java_web接收前端传的excel文件读取数据

    #本次做一个将患者数据导入到某个模块的功能,前期集成的代码时不时出现异常,本次进行修改记录 前端代码

    2024年02月04日
    浏览(51)
  • 【Java】JSONArray详解

    JSONArray是JSON数据格式中的一种数据结构,主要用于存储和操作有序的元素集合。本文将对JSONArray进行详细介绍,包括其定义、使用方法和实际应用场景。 JSONArray是一种有序的元素集合,可以包含任意类型的数据,如字符串、数字、布尔值、null、数组或另一个JSON对象。JSONA

    2024年02月07日
    浏览(37)
  • 【Java】JSONarray转JSONobject

    公司开发有用到,但是经常会忘记,做笔记记录一下!         1、将数据包转成JSONarray         2、使用for循环遍历JSONarray【这里使用size()方法】         3、每次循环取到的JSONObject对象         4、再根据对象中的字段类型使用getXxx()取到值  

    2024年02月13日
    浏览(35)
  • [java]JsonObject与JsonArray转换

    备忘一下,首先 这是一个JsonArrayStr,他可以转换为 JsonArray 。 这是一个JsonObjectStr,他可以转换为 JsonObject 。 JsonObject转换为java对象、JsonArray转换为Java对象 JsonObject的value为JsonArray,对应的java类型为List。在案例中,java代码如下(这里用的内部类) 使用fastjson转换jsonStr为java对

    2023年04月21日
    浏览(36)
  • Java中GET请求与POST请求,前端传参与后端接收实例

    此示例以代码方式展现,可直接结合controller层每个接口上方注释与其接口传递参数方式理解! 前端传参直接就以apiPost工具来代替 apiPost调用后端接口几种方式   代码:  controller层: service层: mapper层: xml:

    2024年02月07日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包