web-dev-qa-db-ja.com

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"
                               }
               }
}
6
Sudheej

JSONの「コメント」はハッシュテーブルを含むリストであり、コードではハッシュテーブルを含むハッシュテーブルです。

これは、1つのアイテムの配列にすることで正しく見えます。

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

$jsonRequest | ConvertTo-Json -Depth 10

そして、私はそれを '[ordered]'にしたので、更新と移行はあなたのコードと同じ順序で出ますが、それは実際には重要ではありません。

14