前端有可能一次性上传多笔记录,并使用JSON序列化。

现在在MS SQL Server 2016版本上,可以直接处理JSO数据。

如下面的前端序列化的数据:

DECLARE @json_string NVARCHAR(MAX) = N'
{
"catalog":[
{"ID":23394,"Item":"I32-GG443-QT0098-0001","Category":"S","Qty":423.65},
{"ID":45008,"Item":"I38-AA321-WS0098-0506","Category":"B","Qty":470.87},
{"ID":14350,"Item":"K38-12321-5456UD-3493","Category":"B","Qty":200.28},
{"ID":64582,"Item":"872-RTDE3-Q459PW-2323","Category":"T","Qty":452.44},
{"ID":23545,"Item":"098-SSSS1-WS0098-5526","Category":"S","Qty":500.00},
{"ID":80075,"Item":"B78-F1H2Y-5456UD-2530","Category":"T","Qty":115.06},
{"ID":53567,"Item":"PO0-7G7G7-JJY098-0077","Category":"Q","Qty":871.33},
{"ID":44349,"Item":"54F-ART43-6545NN-2514","Category":"S","Qty":934.39},
{"ID":36574,"Item":"X3C-SDEWE-3ER808-8764","Category":"Q","Qty":607.88},
{"ID":36574,"Item":"RVC-43ASE-H43QWW-9753","Category":"U","Qty":555.19},
{"ID":14350,"Item":"K38-12321-5456UD-3493","Category":"B","Qty":200.28},
{"ID":64582,"Item":"872-RTDE3-Q459PW-2323","Category":"T","Qty":452.44},
{"ID":80075,"Item":"B78-F1H2Y-5456UD-2530","Category":"T","Qty":115.06},
{"ID":53567,"Item":"PO0-7G7G7-JJY098-0077","Category":"Q","Qty":871.33},
{"ID":44349,"Item":"54F-ART43-6545NN-2514","Category":"S","Qty":934.39},
{"ID":44349,"Item":"54F-ART43-6545NN-2514","Category":"S","Qty":934.39},
{"ID":36574,"Item":"X3C-SDEWE-3ER808-8764","Category":"Q","Qty":607.88}]
}
'

Source Code

在数据库中,创建一张表来存储这些数据:

CREATE TABLE [dbo].[Parts Catalog]
(
[ID] INT,
[Item] NVARCHAR(40),
[Category] NVARCHAR(25),
[Qty] DECIMAL(18,2)
)
GO

Source Code

创建存储过程来接收并处理JSON数据:

CREATE  PROCEDURE [dbo].[usp_Parts_Catalog_Insert]
(
@json_string NVARCHAR(MAX)
)
AS
INSERT INTO [dbo].[Parts Catalog]([ID],[Item],[Category],[Qty])
SELECT [ID],[Item],[Category],[Qty] FROM OPENJSON(@json_string,'$.catalog')
WITH
(
[ID] INT '$.ID',
[Item] NVARCHAR(40) '$.Item',
[Category] NVARCHAR(25) '$.Category',
[Qty] DECIMAL(18,2) '$.Qty'
)
GO

Source Code

执行存储过程,并查询表数据:

以前上传多笔记录,均是使用表函数来处理,现在可以使用OPENJSON方法来进行。

存储过程接收JSON格式数据的更多相关文章

  1. js使用s:property标签接收json格式数据

    js使用s:property接收json数据时,会出现字符被转译的错误. 错误如下: 引号会被转译成'"'字符,导致解析不了. 错误原因: html的s:property接收不会出错,而js ...

  2. php接收json格式数据(text/xml)

    在API服务中,目前流行采用json形式来交互. 给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据. ...

  3. spring接收json格式的多个对象参数(变通法)

    两种方法 方法1 如果使用spring mvc同客户端通信,完全使用json数据格式,需要如下定义一个RequestMapping @Controller public class TestContr ...

  4. ajax接收遍历处理json格式数据

    ajax在前后端的交互中应用非常广泛,通过请求后台接口接收处理json格式数据展现在前端页面. 下面我们来简单用 ajax在本地做一个接收并处理json的小例子 首先我们要新建一个叫做data的jso ...

  5. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  6. ajax接收处理json格式数据

    ajax在前后端的交互中应用非常广泛,通过请求后台接口接收处理json格式数据展现在前端页面. 下面我们来简单用 ajax在本地做一个接收并处理json的小例子 首先我们要新建一个叫做data的jso ...

  7. 使用C#中JavaScriptSerializer类将对象转换为Json格式数据

    将对象转换为json格式字符串: private JavaScriptSerializer serializer = new JavaScriptSerializer(); protected voi ...

  8. Ajax返回html和json格式数据

    Ajax可以返回text和xml格式 可以用Ajax返回大段的html文本和json格式的字符串,然后用eval()方法 转化为json对象 php中的json编码:json_encode(); ph ...

  9. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...

随机推荐

  1. Chrome性能分析工具lightHouse用法指南

    本文主要讲如何使用Chrome开发者工具linghtHouse进行页面性能分析. 1.安装插件 非常简单,点击右上角的“添加至Chrome”即可. 2.使用方式 1)打开要测试的页面,点击浏览器右上角 ...

  2. Grasswire"草根连线":Pinterest图片流+Reddit众包新闻门户

    移动互联网技术对新闻媒体行业带来的变化是惊人的. 从专业的综合门户到维基.博客.微博.自媒体,新闻越来越散户化,众包化,也更具实时性和社交属性. Grasswire:姑且翻译为"草根连线&q ...

  3. 用keytool创建Keystore和Trustsotre文件只需五步

    用keytool创建Keystore和Trustsotre文件 JSSE使用Truststore和Keystore文件来提供客户端和服务器之间的安全数据传输.keytool是一个工具可以用来创建包含公 ...

  4. Latex 4: WinEdt 10试用时间限制的破解+注册码激活

    方法1:我发现这个方法1,现在(2018.06.05)在winedt 10.2上已经不能用了,在低版本(10.1及以下版本)上还可以用,所以如果方法1不行,请看方法2. WinEdt 是目前我发现最好 ...

  5. hashMap的线程不安全

    hashMap是非线程安全的,表现在两种情况下: 1 扩容: t1线程对map进行扩容,此时t2线程来读取数据,原本要读取位置为2的元素,扩容后此元素位置未必是2,则出现读取错误数据. 2 hash碰 ...

  6. 51Nod 1084 矩阵取数问题 V2 —— 最小费用最大流 or 多线程DP

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1084 1084 矩阵取数问题 V2  基准时间限制:2 秒 空 ...

  7. 一篇文章教你如何用R进行数据挖掘

    一篇文章教你如何用R进行数据挖掘 引言 R是一种广泛用于数据分析和统计计算的强大语言,于上世纪90年代开始发展起来.得益于全世界众多 爱好者的无尽努力,大家继而开发出了一种基于R但优于R基本文本编辑器 ...

  8. PYTHON 爬虫笔记十:利用selenium+PyQuery实现淘宝美食数据搜集并保存至MongeDB(实战项目三)

    利用selenium+PyQuery实现淘宝美食数据搜集并保存至MongeDB 目标站点分析 淘宝页面信息很复杂的,含有各种请求参数和加密参数,如果直接请求或者分析Ajax请求的话会很繁琐.所以我们可 ...

  9. Listen81

    Nut-Cracking Chimps Demonstrate Cultural Differences One family generally dines on Chinese takeout w ...

  10. leetcode 66. Plus One(高精度加法)

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...