【问题标题】:Extract value from JSON using powershell and assign to new variables使用 powershell 从 JSON 中提取值并分配给新变量
【发布时间】:2018-10-01 20:07:24
【问题描述】:

我有以下 JSON 文件,我需要从 JSON 文件中提取值并将其分配给变量。我需要提取 id 和 fromref 显示 id。任何帮助将不胜感激。

{
"size":  2,
"limit":  25,
"isLastPage":  true,
"values":  [
               {
                   "id":  1857,
                   "version":  7,
                   "title":  "Update schema from excel",
                   "description":  "Running Update schema from excel",
                   "state":  "DECLINED",
                   "open":  false,
                   "closed":  true,
                   "createdDate":  1538081524777,
                   "updatedDate":  1538159225677,
                   "closedDate":  1538159225677,
                   "fromRef":  "@{id=refs/heads/schema/2018.5.63107; displayId=schema/2018.5.63107; latestCommit=39be0e339f87c890f67fa6af426c7d96564eae0b; repository=}",
                   "toRef":  "@{id=refs/heads/develop; displayId=develop; latestCommit=b2bedca4a23e7a2f76fae8201b715edc69aaad23; repository=}",
                   "locked":  false,
                   "author":  "@{user=; role=AUTHOR; approved=False; status=UNAPPROVED}",
                   "reviewers":  "             ",
                   "participants":  "",
                   "properties":  "@{mergeResult=; resolvedTaskCount=0; commentCount=1; openTaskCount=0}",
                   "links":  "@{self=System.Object[]}"
               },
               {
                   "id":  1862,
                   "version":  1,
                   "title":  "Update schema from excel",
                   "description":  "Running Update schema from excel",
                   "state":  "DECLINED",
                   "open":  false,
                   "closed":  true,
                   "createdDate":  1538155196583,
                   "updatedDate":  1538159165303,
                   "closedDate":  1538159165303,
                   "fromRef":  "@{id=refs/heads/schema/2018.7.63125; displayId=schema/2018.7.63125; latestCommit=48e827093ac86a86dff58f5215f0ff558ce9da72; repository=}",
                   "toRef":  "@{id=refs/heads/develop; displayId=develop; latestCommit=b2bedca4a23e7a2f76fae8201b715edc69aaad23; repository=}",
                   "locked":  false,
                   "author":  "@{user=; role=AUTHOR; approved=False; status=UNAPPROVED}",
                   "reviewers":  "             ",
                   "participants":  "",
                   "properties":  "@{mergeResult=; resolvedTaskCount=0; openTaskCount=0}",
                   "links":  "@{self=System.Object[]}"
               }
           ],
"start":  0
}

预期输出类似于以下内容。

$id =1862
$fromRefbranch.displayid = schema/2018.7.63125

【问题讨论】:

标签: json powershell


【解决方案1】:

可能有更好的解决方案...

$jsonfile = Get-Content C:\json.txt -Raw | ConvertFrom-Json
$values = $jsonfile.values | Select-Object -Property id,@{Label='displayId';Expression={($_.fromRef.Split(';') | Select-String displayId).Line.Split('=')[1]}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-03
    • 2023-03-23
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2012-08-21
    相关资源
    最近更新 更多