我正在尝试以特定方式从我们的 SQL 服务器检索数据,基本上我有一个列,它有一个分隔符','
,需要使用 FOR JSON PATH 像数组一样转换
我试过使用 FOR XML PATH 和 FOR JSON PATH,但我不知道如何克服这个查询。
除此之外,我还有其他解决方法,使用 Entity Framework + LINQ 进行映射,我需要修复或了解在 SQL SERVER 中是否可行。
这是我没有 FOR JSON 的简单数据:
这就是我正在做的事情:
select * from #templateData FOR JSON PATH
-- result
[
{
"id": 1,
"name": "Full Stack Engineer",
"description": ".net developer with 20 year of experience,Scrum master,Hold bachelor degree "
},
{
"id": 2,
"name": "Web Developer",
"description": "web dev"
},
{
"id": 3,
"name": "Full Stack Engineer",
"description": "tested"
}
]
这就是我所期待的(见专栏描述)
[
{
"id": 1,
"name": "Full Stack Engineer",
"description": [
{".net developer with 20 year of experience"},
{"Scrum master"},
{"Hold a bachelor degree"},
],
},
{
"id": 2,
"name": "Web Developer",
"description": "web dev"
},
{
"id": 3,
"name": "Full Stack Engineer",
"description": "tested"
}
]
但是,我尝试使用和使用STRING_SPLIT
一起FOR JSON PATH
使用CROSS_APPLY
,但没有成功。