SQL到JSON-SQL 2016中的对象数组到值数组 [英] SQL to JSON - array of objects to array of values in SQL 2016

查看:598
本文介绍了SQL到JSON-SQL 2016中的对象数组到值数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SQL 2016具有一项新功能,该功能可将SQL Server上的数据转换为JSON.我很难将对象数组组合成值数组,即

SQL 2016 has a new feature which converts data on SQL server to JSON. I am having difficulty in combining array of objects into array of values i.e.,

示例-

CREATE TABLE #temp (item_id VARCHAR(256))

INSERT INTO #temp VALUES ('1234'),('5678'),('7890')

SELECT * FROM #temp

--convert to JSON

SELECT (SELECT item_id 
FROM #temp
FOR JSON PATH,root('ids')) 

结果-

{
    "ids": [{
        "item_id": "1234"
    },
    {
        "item_id": "5678"
    },
    {
        "item_id": "7890"
    }]
}

但是我希望结果为-

"ids": [
        "1234",
        "5678",
        "7890"
    ]

有人可以帮我吗?

推荐答案

谢谢!我们发现的灵魂是首先转换为XML-

Thanks! The soultion we found is converting into XML first -

SELECT  
JSON_QUERY('[' + STUFF(( SELECT ',' + '"' + item_id + '"' 
FROM #temp FOR XML PATH('')),1,1,'') + ']' ) ids  
FOR JSON PATH , WITHOUT_ARRAY_WRAPPER 

这篇关于SQL到JSON-SQL 2016中的对象数组到值数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆