json - 将关系数据转换为 Json 键和值
问题描述
我需要将关系数据转换为 JSON 数据。我有关系数据中的数据,使用我必须创建 JSON 键和 JSON 值的数据。因此 JSON 键将在一个列中,而该键的 JSON 值将在另一列中。我尝试使用 JSON PATH 进行简单的 SQL 查询,但它对我不起作用。
以下是我需要生成的有效负载。
"domesticCallRates": {
"F2M": {
"EV2D": "0.00",
"EV2O": "0.11"
},
"local": {
"C213": "0.01",
"EV2D": "0.02",
"EV2O": "0.03"
},
"national": {
"EV2D": "0.04",
"EV2O": "0.05"
}
},
"internationalCallRates": {`"0": {
"$Landline": "6",
"$Mobile": "6",
"country": "India"
},
"1": {
"$Landline": "3",
"$Mobile": "3",
"country": "Indonesia"
}
},
以下是我表中的数据:
下面是我的尝试。
SELECT
Quote_id,
(
SELECT [EV2D], [value]
FROM (VALUES
('EV2D', CONVERT(varchar(max), Requested_RatePerMin_ExGST))
) v ([EV2D], [value])
FOR JSON PATH
) AS F2M
FROM [Pricing].[Voice_Domestic_CallRates_NonStandard] FOR JSON AUTO
输出我得到的是
[
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.1100"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13952,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0500"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.1100"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13953,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0500"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.1100"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0000"
}
]
},
{
"Quote_id":13955,
"F2M":[
{
"EV2D":"EV2D",
"value":"0.0500"
}
]
}
]
类似于关系数据中的上述国际电话数据。
解决方案
推荐阅读
- bash - 使用 sed 在文件中添加 sed 行
- javascript - 基于位置选择的着陆页重定向(Cookie?)
- c++ - 抽象类接口可以模板化吗
- r - 哪个正则表达式从文本中的引号中删除标点符号
- python - 如何将具有字符串和整数值的多个数据帧转换为 4D 数据结构
- reactjs - React 如何修复“滑动解锁”错误消息?
- javascript - 自定义元素原型中的覆盖函数会更改 this 对象
- reactjs - 禁用按钮的自定义样式也适用于常规按钮
- javascript - 如何对在画布上绘制的任意用户提交的 Javascript 代码进行沙箱处理?
- c - STM32F4 SPI问题:主机无法写入数据