创建JSON字符串,PowerShell对象

时间:2017-06-16 20:06:39

标签: json powershell

我无法在此请求上创建变量,因此我可以稍后使用converttojson将变量转换为JSON

{
    "update": {
        "comment": [
            {
                "add": {
                    "body": "Comment added when resolving issue"
                }
            }
        ]
    },

    "transition": {
        "id": "21"
    }
}

尝试以下

$jsonRequest = @{
    update= @{
        comment =@{
           add =@{
               body = "$Description"
            }
        }

    }
    transition =@{
        id = $TransactionID
    }
}

但是得到如下输出

{
    "transition":  {
                       "id":  1
                   },
    "update":  {
                   "comment":  {
                                   "add":  "System.Collections.Hashtable"
                               }
               }
}

1 个答案:

答案 0 :(得分:11)

注释“在你的JSON中是一个包含哈希表的列表,在你的代码中它是一个包含哈希表的哈希表。

这看起来是正确的,它是一个项目的数组:

$jsonRequest = [ordered]@{
    update= @{
        comment = @(
            @{
               add =@{
                   body = "$Description"
                }
            }
        )
    }
    transition = @{
        id = 21
    }
}

$jsonRequest | ConvertTo-Json -Depth 10

我已经''[ordered]'所以更新和转换的顺序和你的代码一样,尽管这不应该真的重要。