从 powershell 中的 JSON 文件中提取子字符串
Posted
技术标签:
【中文标题】从 powershell 中的 JSON 文件中提取子字符串【英文标题】:Extract a substring from a JSON file in powershell 【发布时间】:2022-01-16 06:00:30 【问题描述】:我有一个包含字符串、子字符串和数组组合的 Json 文件,如下所示。
我尝试使用 psobject 获取 Id 并将 JSON 文件读取为 RAW,但没有锻炼。
$json = (Get-Content "C:\Users\rasto\OneDrive\Desktop\Job_board\output.json" -Raw) | ConvertFrom-Json
$json.psobject.TypeNames.item
我还尝试运行循环,但效果不佳。
$data = Get-Content "Path to json file" | Out-String | ConvertFrom-Json
foreach ($line in $data)
$line.id
Json 文件:
"data": [
"id": "146993",
"text": "value1"
,
"id": "14699",
"text": "value2"
],
"meta":
"newest_id": "146",
"oldest_id": "146",
"result_count": 79
我想使用 PowerShell 提取字段“id”中的值。
输出:
146993 14699
【问题讨论】:
【参考方案1】:$data
不是一个数组,所以循环它不会有任何区别。您需要取消对根对象的 data
成员的引用,以获取包含具有 id
属性的对象的数组:
$data = Get-Content "Path to json file" |ConvertFrom-Json
$IDs = $data.data.id
【讨论】:
帮助谢谢! @Mathias R Jessen以上是关于从 powershell 中的 JSON 文件中提取子字符串的主要内容,如果未能解决你的问题,请参考以下文章
使用 PowerShell 将 Chrome 和 Edge Chromium 中的书签 JSON 文件合并到一个文件中?
使用 Powershell 解析从 Web 请求返回的 JSON 字节流而不写入文件
powershell 从DXA实现中的所有页面获取JSON页面内容