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对象作为参数,用来接受…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
LOOI机器人的技术实现解析:从手势识别到边缘检测
LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
