我正在尝试对一个. json进行排序。json应该首先按“名称”排序,然后按“产品”中的所有内容排序。排序需要通过PowerShell完成。
我曾尝试使用powershell sort json by value with Sort-Object的派生,但没有成功。
$json = Get-Content '.\.vscode\driverDetails.json' | ConvertFrom-Json
$json.Name = $json.Name | Sort-Object Name
$json.Products = $json.Products | Sort-Object Products
$json | ConvertTo-Json
json本身应该按“名称”排序,“产品”下的所有内容都是排序的。
示例如下
原始Json:
[
{
"Name": "HPE Smart Array P824i-p MR 64-bit controller driver for Microsoft Windows 2016 edition.",
"cpFile": "cp034411",
"version": "6.714.18.0",
"OS": "Microsoft Windows Server 2016",
"Products": [
"HPE ProLiant DL380 Gen10 Server",
"HPE ProLiant DL560 Gen10 Server",
"HPE ProLiant DL385 Gen10 Server\n",
"HPE ProLiant ML350 Gen10 Server",
"HPE ProLiant DL360 Gen10 Server",
"HPE ProLiant DL580 Gen10 Server"
],
"Description": "This driver, MegaSAS2, provides Windows 64-bit support for HPE Smart Array P824i-p MR 64-bit controller",
"Category": "Driver - Storage Controller"
},
{
"Name": "HPE H2xx SAS/SATA Host Bus Adapter Driver for 64-bit Microsoft Windows Server 2016 Editions",
"cpFile": "cp037731",
"version": "2.68.64.2",
"OS": "Microsoft Windows Server 2016",
"Products": [
"HPE ProLiant DL360 Gen9 Server",
"HPE ProLiant DL380 Gen9 Server",
"HPE ProLiant DL560 Gen9 Server",
"HPE ProLiant ML350 Gen9 Server"
],
"Description": "This driver, LSI_SAS2, provides Windows Server 2016 support for HPE H2xx SAS/SATA Host Bus Adapter. ",
"Category": "Driver - Storage Controller"
}
]
排序的Json:
[
{
"Name": "HPE H2xx SAS/SATA Host Bus Adapter Driver for 64-bit Microsoft Windows Server 2016 Editions",
"cpFile": "cp037731",
"version": "2.68.64.2",
"OS": "Microsoft Windows Server 2016",
"Products": [
"HPE ProLiant DL360 Gen9 Server",
"HPE ProLiant DL380 Gen9 Server",
"HPE ProLiant DL560 Gen9 Server",
"HPE ProLiant ML350 Gen9 Server"
],
"Description": "This driver, LSI_SAS2, provides Windows Server 2016 support for HPE H2xx SAS/SATA Host Bus Adapter. ",
"Category": "Driver - Storage Controller"
},
{
"Name": "HPE Smart Array P824i-p MR 64-bit controller driver for Microsoft Windows 2016 edition.",
"cpFile": "cp034411",
"version": "6.714.18.0",
"OS": "Microsoft Windows Server 2016",
"Products": [
"HPE ProLiant DL360 Gen10 Server",
"HPE ProLiant DL380 Gen10 Server",
"HPE ProLiant DL385 Gen10 Server",
"HPE ProLiant DL560 Gen10 Server",
"HPE ProLiant DL580 Gen10 Server",
"HPE ProLiant ML350 Gen10 Server"
],
"Description": "This driver, MegaSAS2, provides Windows 64-bit support for HPE Smart Array P824i-p MR 64-bit controller",
"Category": "Driver - Storage Controller"
}
]
1条答案
按热度按时间vs91vp4v1#
To * json本身应该按“名称”排序 *:
要 * 对“产品”中的所有内容进行排序 *: