我正在使用 PowerShell 中的一些 JSON 数据。有些元素是多值的,用分号分隔,但它并不总是相同的元素是多值的。我想将可能出现的多值元素转换为 JSON 数组。
我很难做到这一点。我已经找到了一种方法来识别哪些元素是多值的,但我不确定在输出整个 JSON 时如何拆分它们。在导出为 JSON 之前,我是否需要构建一个自定义 PSObject 并将多值元素分解为一个数组?对于一个简单的任务来说,这似乎是很多开销。
起始示例
{
"Title": "Civil War Diary - Original and Transcript",
"Date Created": "1863",
"Access Rights": "Open Access",
"Identifier": "e9f44e22b9a285c1c3e2ac0307d113f3",
"Resource Type": "Text; Still Image"
}
期望的输出
{
"Title": "Civil War Diary - Original and Transcript",
"Date Created": "1863",
"Access Rights": "Open Access",
"Identifier": "e9f44e22b9a285c1c3e2ac0307d113f3",
"Resource Type": [
"Text",
"Still Image"
]
}
正如上面评论中提到的,这些数据来源于 CSV 文件。我能够在 ForEach-Object 循环中添加三行,在该循环中我正在修剪字段以将多值字段转换为数组,并在分隔符上拆分。