如果另一个值大于零,我如何提取 JSON 值?
How do I extract a JSON value if another value is higher than zero?
我当前的代码:
Powershell -Noprofile "(Get-Content 'allacts.txt' | ConvertFrom-Json).activityid | Out-File -FilePath ids%filenum%.txt"
这会查询 JSON 文件 (allacts.txt) 并提取单个值 activityid。
但是,我不想要 所有 activityids,只想要 attendedpeoplecount 值大于 0 的那些。如何我的工作是如果逻辑进入这个命令?
样本:
[
{
"activityid": 610228,
"attendedpeoplecount": 0
},
{
"activityid": 568168,
"attendedpeoplecount": 36
}
]
以上 json 的当前命令将 return
610228
568168
所需的输出将是
568168
使用 Where-Object Cmdlet 应该可以满足您的需求。
Powershell -Noprofile "((Get-Content 'allacts.txt' | ConvertFrom-Json) | Where-Object { $_.attendedpeoplecount -gt 0 }).activityid | Out-File -FilePath ids%filenum%.txt"
更新:将Get-Content
和ConvertFrom-Json
包裹在括号
中
我当前的代码:
Powershell -Noprofile "(Get-Content 'allacts.txt' | ConvertFrom-Json).activityid | Out-File -FilePath ids%filenum%.txt"
这会查询 JSON 文件 (allacts.txt) 并提取单个值 activityid。
但是,我不想要 所有 activityids,只想要 attendedpeoplecount 值大于 0 的那些。如何我的工作是如果逻辑进入这个命令?
样本:
[
{
"activityid": 610228,
"attendedpeoplecount": 0
},
{
"activityid": 568168,
"attendedpeoplecount": 36
}
]
以上 json 的当前命令将 return
610228
568168
所需的输出将是
568168
使用 Where-Object Cmdlet 应该可以满足您的需求。
Powershell -Noprofile "((Get-Content 'allacts.txt' | ConvertFrom-Json) | Where-Object { $_.attendedpeoplecount -gt 0 }).activityid | Out-File -FilePath ids%filenum%.txt"
更新:将Get-Content
和ConvertFrom-Json
包裹在括号