Я пытаюсь разделить очень большие файлы JSON с помощью PowerShell на файлы меньшего размера для заданного массива. Например, этот файл JSON:
Входной файл JSON
{
"headerName1": "headerVal1",
"headerName2": "headerVal2",
"headerName3": [{
"element1Name1": "element1Value1"
},
{
"element2Name1": "element2Value1"
},
{
"element3Name1": "element3Value1"
},
{
"element4Name1": "element4Value1"
},
{
"element5Name1": "element5Value1"
},
{
"element6Name1": "element6Value1"
}]
}
необходимо разделить на эти файлы JSON (при условии, что каждый выходной файл может содержать только 2 элемента массива headerName3
):
Выходной файл JSON 1
{
"headerName1": "headerVal1",
"headerName2": "headerVal2",
"headerName3": [{
"element1Name1": "element1Value1"
},
{
"element2Name1": "element2Value1"
}]
}
Выходной файл JSON 2
{
"headerName1": "headerVal1",
"headerName2": "headerVal2",
"headerName3": [{
"element3Name1": "element3Value1"
},
{
"element4Name1": "element4Value1"
}]
}
Выходной файл JSON 3
{
"headerName1": "headerVal1",
"headerName2": "headerVal2",
"headerName3": [{
"element5Name1": "element5Value1"
},
{
"element6Name1": "element6Value1"
}]
}
Таким образом, каждый выходной файл должен содержать headerName1
и headerName2
каждый раз, но затем содержать только определенное количество элементов из массива headerName3
. (Примечание: это небольшой пример, поэтому я делю файл по количеству элементов в массиве, но в действительности я хочу разделить его по размеру выходного файла, чтобы упростить задачу.)
Здесь - отличный ответ на этот вопрос. Однако у меня есть две проблемы с ответом:
- Ответ в C #, а не в PowerShell.
- Я нашел это объяснение того, как запустить C # в PowerShell. Однако я столкнулся с проблемой недоступности библиотеки «Newtonsoft», поэтому не могу заставить работать это решение C # -to-PowerShell.
Итак, мне интересно, есть ли простой способ сделать это в PowerShell.