Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >专用Json输出格式

专用Json输出格式
EN

Stack Overflow用户
提问于 2019-02-23 08:42:03
回答 1查看 42关注 0票数 0

我使用 Server 2017,并希望以JSON形式将许多记录发送到外部web服务。我不希望对json表单中的每一行重复列名。

为了减少输出JSON的大小,我希望将所有列名称放在第一行,并将只是列值放到另一行。

我想为我的输出json创建以下结构:

代码语言:javascript
运行
AI代码解释
复制
  {
    "data": [
        ["col1name", "col2name", "col3name"],
        ["value1", "value2", "value3"],
        ["value1", "value2", "value3"]
    ]
}

这种json格式在杰森林特上是有效的并且是Valiated的。

我想在sql server中创建这个结构,但我不知道如何创建?对此有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-23 09:40:30

讽刺的是,我认为唯一能做到这一点的方法就是用FOR XML PATH

代码语言:javascript
运行
AI代码解释
复制
CREATE TABLE V (Col1 varchar(10), Col2 varchar(10),Col3 varchar(10));
INSERT INTO V    
SELECT *
FROM (VALUES('value1','value2','value3'),
            ('value1','value2','value3')) V(Col1, Col2, Col3);

DECLARE @JSON nvarchar(MAX);

SET @JSON = N'{' + NCHAR(13) + NCHAR(10) +
            N'   "data": [' + NCHAR(13) + NCHAR(10) +
            N'       [' + STUFF((SELECT N', ' + QUOTENAME(c.[name],'"')
                                 FROM sys.columns c
                                      JOIN sys.tables t ON c.object_id = t.object_id
                                 WHERE t.[name] = N'V'
                                 ORDER BY c.column_id ASC
                                 FOR XML PATH(N''),TYPE).value('.', 'varchar(MAX)'),1,2,N'') + N'],' + NCHAR(13) + NCHAR(10) +
            STUFF((SELECT N',' + NCHAR(13) + NCHAR(10) +
                          N'       [' + QUOTENAME(Col1,'"') + N', ' + QUOTENAME(Col2,'"') + N', ' + QUOTENAME(Col3,'"') + N']'
                   FROM V
                   ORDER BY V.Col1
                   FOR XML PATH(N''),TYPE).value('.', 'varchar(MAX)'),1,3,N'') + NCHAR(13) + NCHAR(10) +
            N'    ]' + NCHAR(13) + NCHAR(10) +
            N'}';

PRINT @JSON;

DROP TABLE V;

db<>fiddle

有人可能知道用FOR JSON做这件事的方法,但我不确定你能做到,不玩一些游戏。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54843735

复制
相关文章
layui表单参数对象转url参数
项目使用layui作为前端框架,发现from表单里面的data.field这个方法获取的是表单中所有带name参数的输入框,然后转为一个
Erwin
2020/01/16
3.6K0
url传递参数_url encode
原文链接http://werkzeug.pocoo.org/docs/0.12/routing/ 当需要组合控制器和视图函数时,我们需要一个调度器来实现。一个简单的实现方式是采用正则表达式匹测试路由信息,调用回调函数并返回结果。 Werkzeug 提供了一个类似Route[1]的强大功能.下文提到的所有对象都是从 werkzeug.routing 导入而不是 werkzeug
全栈程序员站长
2022/11/08
2.6K0
dns url转发_获取url参数的方法
DNSPod是一款免费智能DNS产品,可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。
全栈程序员站长
2022/11/02
6.7K0
图片URL生成_图片转url
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
3.7K0
图片URL生成_图片转url
使用jquery获取url及url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作
Jensen_97
2023/07/19
1.7K0
Objective-C中把URL请求的参数转换为字典
上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字符串的截取,关键是怎么个截法,才能把字符串中的参数列表分别转换成键值对。下面是小菜自己的转换思路,如果有更好的结局方法还请批评指正,相互学习交流一下,转载请注明出处。         首先我们得会一个字符串拆分函数 componentsSeparatedByString:@"&",把字符串按照&进行拆分,然后
lizelu
2018/01/11
1.9K0
rewrite带参数的URL
背景 每天都会配置rewrite来将本站的一些请求重定向到微信接口 每次需要手动修改nginx的配置文件 降低了工作效率且增加了出错几率 具体需求: 将类似http://xxxx.com/kefu/?
dogfei
2020/07/31
8.2K0
URL参数加密
php function valEncrypt($value, $key) { $encrypt_key = md5(rand(0, 32000)); $ctr = 0; $t
苦咖啡
2018/05/08
2K0
js获取url中的参数
js获取url中的参数 <script language="javascript"> function getRequestPars() { var url = location.search;
码客说
2019/10/22
16.2K0
RestTemplate设置固定的url参数
在使用RestTemplate请求三方接口时:三方接口一般都要求在url后面拼接上固定的几个参数,一般如accessToken进行权限校验。而我们在开发时,请求这些地址,如何避免在url拼接acces
喜欢天文的pony站长
2020/11/09
2.7K0
RestTemplate设置固定的url参数
js获取url中的参数
js获取url中的参数 function UrlSearch() { var name, value; var str = kk; //取得整个地址栏 var num = st
河岸飞流
2019/08/09
16.2K0
获取url参数的精简代码
题目描述 获取 url 中的参数 指定参数名称,返回该参数的值 或者 空字符串 不指定参数名称,返回全部的参数对象 或者 {} 如果存在多个同名参数,则返回数组 输入例子: getUrlPar
mcq
2018/06/27
2.8K0
转!!URL和URI区别 转
从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN。这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resource Identifier (URI): Generic Syntax里面收集了点资料:
henrylee2cn
2019/04/04
1.1K0
转!!URL和URI区别
                                                                            转
面试必备:如何将一个长URL转换为一个短URL?
前几天整理面试题的时候,有一道试题是《如何将一个很长的URL转换为一个短的URL,并实现他们之间的相互转换?》,现在想起来这是一个绝对不简单的问题,需要考虑很多方面,今天和大家一起学习研究一下!
Java后端技术
2018/08/09
7.7K0
面试必备:如何将一个长URL转换为一个短URL?
js获取url上的参数
获取url上的参数 function getUrlParam(name) { if (name == null) { return name; } var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) { //return une
阿超
2022/08/16
12.5K0
js获取url上的参数
Html获取Url参数
做web前端的开发很多的时候都会遇到的一个很简答的问题,就是两个页面之间的跳转,一般来说是:
何处锦绣不灰堆
2020/05/29
10.2K0
Html获取Url参数
js获取URL中的参数
一般网页开发中会使用url进行传参,有的采用java的方式或其他的方式,下面我来介绍一下如何通过js来获取url中的参数。请看代码:
OECOM
2020/07/01
14.5K0
js获取url参数的方法
js获取url参数的方法有很多。 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } 调用方法: alert(GetQueryString("
水击三千
2018/02/27
20.1K0
封装获取url参数的方法
功能需求:前端页面来回切换需要我们去获取URL的某个参数值。这时封装一个输入参数名获取对应参数值的函数是很有必要的; //取url上的id function getQueryString(name) { //取url上的id var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r !
青梅煮码
2023/02/18
1.8K0
点击加载更多

相似问题

将GET参数转换为友好的URL

11

将原始URL转换为友好URL

21

在PHP中将所有参数化动态URL转换为SEO友好的URL

111

htaccess搜索引擎友好的URL

13

使用搜索引擎友好的URL

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档