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
相关文章:
c#[WebMethod]方法接收前端传入的JsonArray的方法
一、第一种方法:可以这样接收前端传入的jsonArray字符串到一个类的数组中,然后遍历该数组取值 这种方法需要创建PointConfig类 class PointConfig{public string ptcrossing { get; set; }public string ptcrossingId { get; set; }public string camId …...
WebService 报错 集锦
报错1:url错误 我的是调用的url的端口错误。调用esb的url的端口错了,导致报错。有的人是uri错了。例如: www.globalcoding.com:9001/SAP_saveProduct/1.0.0 写成了 www.globalcoding.com:9001/SAP_savePoduct/1.0.0 报错如下:…...
C++--菱形继承
1.什么是菱形继承 单继承:一个子类只有一个直接父类时称这个继承关系为单继承 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承 菱形继承的问题:菱形继承有数据冗余和二义性的问题,数据冗余是由于创建多个相同类型的…...
Vue 3:玩一下web前端技术(二)
前言 本章内容为VUE目录结构解析与相关工程技术讨论。 上一篇文章地址: Vue 3:玩一下web前端技术(一)_Lion King的博客-CSDN博客 下一篇文章地址: Vue 3:玩一下web前端技术(三)…...
自然语言处理14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本
大家好,我是微学AI,今天给大家介绍一下自然语言处理14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本。NLP中的文本匹配是指通过计算文本之间的相似度来找到与查询语句最相似的文本。其中一种常用的方法是基于文本…...
iOS开发-聊天emoji表情与自定义动图表情左右滑动控件
iOS开发-聊天emoji表情与自定义动图表情左右滑动控件 之前开发中遇到需要实现聊天emoji表情与自定义动图表情左右滑动控件。使用UICollectionView实现。 一、效果图 二、实现代码 UICollectionView是一种类似于UITableView但又比UITableView功能更强大、更灵活的视图&#x…...
Mybatis plus 存储 List、Map
目录 一、前提概要1.1 支持环境1.2 需求场景 二、需求实现2.1 非自定义数据类型,List、Map2.2 自定义类型数据类型 一、前提概要 1.1 支持环境 数据库支持:MySql版本要求 5.7 1.2 需求场景 使用MySQL数据库存储时,由于业务要求实体类中特…...
Electron 系统通知 Notification 实践指南
系统通知是桌面应用的常见功能,用于给用户发送提醒(刷下存在感 🙂),还能帮定点击事件以便后续的操作。 Electron 自带通知模块,下方代码是一个简单的示例 const { Notification } require(electron)cons…...
配置代理——解决跨域问题(详解)
之前写项目的时候总会遇到配置代理的问题,可是配置了之后有时有用,有时就没有用,自己之前学的也是懵懵懂懂,于是专门花了一个小时去了解了如何配置代理跨域,然后在此记录一下,方便自己以后查阅。 一、 常用…...
VScode 避免逗号、括号时自动补全
设置项 控制是否应在遇到提交字符时接受建议。例如,在JavaScript中,半角分号(;)可以为提交字符,能够在接受建议的同时键入该字符。 "editor.acceptSuggestionOnCommitCharacter": false起因 比如打伪代码的时候输入一些缺少上下…...
【数学建模】时间序列分析
文章目录 1. 条件2. 模型分类3. SPSS处理时间序列 1. 条件 1.使用于具有时间、数值两种要素 2.数据具有周期性可以使用时间序列分解 2. 模型分类 叠加模型【YTSCI】 序列的季节波动变化越来越大,反映变动之间的关系发生变化乘积序列【YTSC*I】 时间序列波动保持恒…...
Spring使用注解进行对象装配(DI)
文章目录 一. 什么是对象装配二. 三种注入方式1. 属性注入2. 构造方法注入3. Setter注入 三. 三种注入方式的优缺点四. 综合练习 通过五大类注解可以更便捷的将对象存储到 Spring 中,同样也可以使用注解将已经储存的对象取出来,直接赋值到注解所在类的一…...
数学建模-蒙特卡洛模拟
%% 蒙特卡罗用于模拟三门问题 clear;clc %% (1)预备知识 % randi([a,b],m,n)函数可在指定区间[a,b]内随机取出大小为m*n的整数矩阵 randi([1,5],5,8) %在区间[1,5]内随机取出大小为5*8的整数矩阵 % 2 5 4 5 3 1 4 2 %…...
Pearson correlation皮尔逊相关性分析
在参数检验的相关性分析方法主要是皮尔逊相关(Pearson correlation)。既然是参数检验方法,肯定是有一些前提条件。皮尔逊相关的前提是必须满足以下几个条件: 变量是连续变量;比较的两个变量必须来源于同一个总体&…...
P1036 [NOIP2002 普及组] 选数
题目描述 已知 �n 个整数 �1,�2,⋯ ,��x1,x2,⋯,xn,以及 11 个整数 �k(�<�k<n)。从 �n 个整数中任选 �k 个…...
css终极方案PostCSS
一见如故 原理 所有的css框架都在一样的事,那就是由一个css生成一个新的css,那么postcss就来做了一个抽离: 1、将原有的css解析成抽象语法树 2、中间经过若干个插件 3、重新文本化,形成新的css postcss.config.js module.expor…...
代码随想录算法训练营第三天|417. 太平洋大西洋水流问题|24. 两两交换链表中的节点|19.删除链表的倒数第N个节点|面试题 02.07. 链表相交|
417. 太平洋大西洋水流问题 水往高处流,先记录两个海祥往高处流所能留到的地址,之后将他们的合并区域进行输出 static const int dirs[4][2] {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};class Solution { public:vector<vector<int>> heights;v…...
【Java】Spring——创建Spring + 对Spring的存储 /读取对象操作
文章目录 前言一、创建Spring项目二、向Spring容器中存储 Bean 对象三、从Spring容器中读取 Bean 对象得到Spring上下文对象得到 Bean 对象 总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话,互…...
RTPSv2.2(中文版)
实时发布订阅协议 (RTPS) DDS互操作性 有线协议规范 V2.2 (2014-09-01正式发布) https://www.omg.org/spec/DDSI-RTPS/2.2/PDF 目 录 1 范围Scope 9 2 一致性Conformance 9 3 参考文献References 9 4 术语和定义Terms a…...
Django学习笔记-视图(views)的使用
Django中可以使用views进行管理,类似于WPF的MVVM的ViewModel层,也相当于MVC架构的模Controller层。 一、基于函数的视图FBV(Function-Based View) 通过定义一个函数,包含HttpRequest对象作为参数,用来接受…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
游戏开发中常见的战斗数值英文缩写对照表
游戏开发中常见的战斗数值英文缩写对照表 基础属性(Basic Attributes) 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...
React 样式方案与状态方案初探
React 本身只提供了基础 UI 层开发范式,其他特性的支持需要借助相关社区方案实现。本文将介绍 React 应用体系中样式方案与状态方案的主流选择,帮助开发者根据项目需求做出合适的选择。 1. React 样式方案 1.1. 内联样式 (Inline Styles) 通过 style …...
