JSON是将数据库接转一种轻量级的数据交换格式,采用完全独立于编程语言的询结文本格式来存储和表示数据。简洁和清晰的果直层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,将数据库接转同时也易于机器解析和生成,询结并有效地提升网络传输效率。果直 SQL与Json SQLServer对从2016开始添加了对Json数据的将数据库接转支持,我们可以很轻松的询结将查询的数据通过SQL语句直接转成Json格式,这对我们存储和交互数据提供了一个很好的果直途径。 今天我们就说说在SQLServer中如何将查询结果生成Json文本。将数据库接转 测试数据准备 为了测试效果,询结我们先准备测试数据,果直这里做一个简单的将数据库接转销售表: 演示数据 神奇的for json auto子句 在查询的from子句中加上 for json auto,网站模板查询结果就会自动转成json文本,询结这是果直最简单的一种转换方式。 查询的结果就是json文本了。 查询结果自动转成Json 把Json抓取出来,效果如下: 自动导出的Json文本 是否感觉很神奇,如果您觉得SQLServer对导出Json的支持仅仅如此,那您就太小看微软了,下面我们再说说更强大的导出功能。 神奇的for json path子句 见识了神奇的for json auto子句,我们在看看另一个神奇的for json path子句,该子句使用列别名或列名来确定 JSON 输出中的键名称。 比如我们把“姓名”作为一个顶层节点,云服务器提供商把区域和销售额设置一个上级节点“销售情况”: 查询的结果也是Json文本: 查询结果自动转成Json 把Json抓取出来,效果如下: 自动导出的Json文本 有没有发现什么不同?“销售情况.区域”、“销售情况.金额”中的点号,自动将“销售情况”作为了上级节点,“区域”和“金额”作为了子节点。 神奇的ROOT选项 对Json比较熟悉的朋友会发现,for json auto和for json path导出的Json直接是数组,每条记录就是一个数组元素,缺少了根节点,如果我们想要给Json加一个根节点要怎么做呢? SQLServer提供了Root选项来完成根节点的添加工作: 查询的结果仍然是Json文本: 查询结果自动转成Json 把Json抓取出来,效果如下: 自动导出的Json文本 可以看到Json添加了根节点“业务信息”。高防服务器 希望对您有所帮助!