从 SQL Table 转换为 Json
Convert Json from SQL Table
我正在使用 SQL Server 2016
。我想 return 给定格式的 Json
。
Select 声明
SELECT Country,[Arm Export],[Food Export] FROM Table
预期Json
格式
[
{
"India":{
"Arm Export": 30,
"Food Export": 50
}
},
{
"USA":{
"Arm Export": 90,
"Food Export": 5
}
},
{
"Russia":{
"Arm Export": 90,
"Food Export": 5
}
}
]
任何帮助将不胜感激....
试试这个...
SELECT'['+stuff(
(SELECT ',{"'+Country+'":{"Arm Export": '+convert(varchar,[Arm Export])+',"Food Export": '+convert(varchar,[Food Export])+'}}'
FROM TABLE
FOR XML Path('')),1,1,'')+']'[Detail]
输出将是...
[
{
"India":{
"Arm Export": 30,
"Food Export": 50
}
},
{
"USA":{
"Arm Export": 90,
"Food Export": 5
}
},
{
"Russia":{
"Arm Export": 90,
"Food Export": 5
}
}
]
如果您希望输出与问题中定义的完全一致,那么 Nithin 的答案可能是最好的。
如果输出可能略有不同,您可以尝试 FOR JSON PATH
,像这样:
SELECT Country,
[Arm Export] AS 'Export.Arm Export',
[Food Export] AS 'Export.Food Export'
FROM dbo.tb_CountryExport
FOR JSON PATH;
这会给你这样的输出:
[
{
"Country": "Russia",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
},
{
"Country": "India",
"Export": {
"Arm Export": 30,
"Food Export": 50
}
},
{
"Country": "USA",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
}
]
但正如我所说,输出可能不是您想要的。
尼尔斯
我正在使用 SQL Server 2016
。我想 return 给定格式的 Json
。
Select 声明
SELECT Country,[Arm Export],[Food Export] FROM Table
预期Json
格式
[
{
"India":{
"Arm Export": 30,
"Food Export": 50
}
},
{
"USA":{
"Arm Export": 90,
"Food Export": 5
}
},
{
"Russia":{
"Arm Export": 90,
"Food Export": 5
}
}
]
任何帮助将不胜感激....
试试这个...
SELECT'['+stuff(
(SELECT ',{"'+Country+'":{"Arm Export": '+convert(varchar,[Arm Export])+',"Food Export": '+convert(varchar,[Food Export])+'}}'
FROM TABLE
FOR XML Path('')),1,1,'')+']'[Detail]
输出将是...
[
{
"India":{
"Arm Export": 30,
"Food Export": 50
}
},
{
"USA":{
"Arm Export": 90,
"Food Export": 5
}
},
{
"Russia":{
"Arm Export": 90,
"Food Export": 5
}
}
]
如果您希望输出与问题中定义的完全一致,那么 Nithin 的答案可能是最好的。
如果输出可能略有不同,您可以尝试 FOR JSON PATH
,像这样:
SELECT Country,
[Arm Export] AS 'Export.Arm Export',
[Food Export] AS 'Export.Food Export'
FROM dbo.tb_CountryExport
FOR JSON PATH;
这会给你这样的输出:
[
{
"Country": "Russia",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
},
{
"Country": "India",
"Export": {
"Arm Export": 30,
"Food Export": 50
}
},
{
"Country": "USA",
"Export": {
"Arm Export": 90,
"Food Export": 5
}
}
]
但正如我所说,输出可能不是您想要的。
尼尔斯