【问题标题】:Extract a substring from a JSON file in powershell从 powershell 中的 JSON 文件中提取子字符串
【发布时间】: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

【问题讨论】:

    标签: json powershell


    【解决方案1】:

    $data 不是一个数组,所以循环它不会有任何区别。您需要取消对根对象的 data 成员的引用,以获取包含具有 id 属性的对象的数组:

    $data = Get-Content "Path to json file" |ConvertFrom-Json
    $IDs = $data.data.id
    

    【讨论】:

    • 帮助谢谢! @Mathias R Jessen
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 2015-09-01
    • 2021-12-03
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多