web-dev-qa-db-fra.com

Création d'une chaîne JSON, objet PowerShell

Je ne parviens pas à créer une variable sur cette demande, je pourrai ensuite convertir la variable en JSON à l'aide de converttojson

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

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

J'ai essayé ci-dessous

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

    }
    transition =@{
        id = $TransactionID
    }
}

Mais obtenez une sortie comme ci-dessous

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

Commentaire "dans votre JSON est une liste contenant une table de hachage, dans votre code c'est une table de hachage contenant une table de hachage.

Cela semble correct en en faisant un tableau d'un élément:

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

$jsonRequest | ConvertTo-Json -Depth 10

Et je l'ai fait "[commandé]" pour que la mise à jour et la transition sortent dans le même ordre que votre code, bien que cela ne devrait pas vraiment avoir d'importance.

14