【发布时间】:2022-01-12 03:32:45
【问题描述】:
我在使用 SQL Server 将 JSON 数组转换为不同的输出格式时遇到了挑战...
输入:
[
{
"label": "City",
"values": [
"Test City"
]
},
{
"label": "imgTest",
"values": [
{
"identifier": "56696553-48F4-4BC5-BB43-FF4F71743EE9",
"filename": "file1.jpg",
"contentType": "image/jpg",
"bytes": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
},
{
"identifier": "2D9106D7-71A1-440E-8255-679E8905B32E",
"filename": "file2.jpg",
"contentType": "image/jpg",
"bytes": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
]
}
]
期望的输出:
[
{
"label": "City",
"answer": "Test City"
},
{
"label": "imgTest",
"answer": {
"filename": "file1.jpg",
"contentType": "image/jpg",
"bytes": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
},
{
"label": "imgTest",
"answer": {
"filename": "file2.jpg",
"contentType": "image/jpg",
"bytes": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII"
}
}
]
我发现的挑战在于将字符串和对象组合为输出中的“答案”属性。
请注意,这只是非常嵌套的 JSON 输入的一小部分。谢谢。 临时表等是完全可能的,因为这很可能通过存储过程发生
我提到 SQL 的原因是因为这是我最熟悉的技术,并且过去已成功用于这些目的。
在图像发挥作用之前,我最初的方法是构建一个具有不同层“标签值”对的临时表,然后将该表转换为带有一系列嵌套“for json path”语句的 json。
但是,当我对图像数据执行此操作时,它假定内容是字符串,因此它会转义字符,这会在将输出发送到下一个应用程序时导致问题...
【问题讨论】:
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
标签: arrays json sql-server data-conversion