Curl avec multiligne de JSON

Envisager la boucle de commande ci-dessous, est-il possible de permettre le retour à la ligne en JSON (sans le rapetisser) et de l'exécuter directement dans bash (Mac/Ubuntu)

curl -0 -v -X POST http://www.example.com/api/users \
-H "Expect:" \
-H 'Content-Type: text/json; charset=utf-8' \
-d \
'
{
    "field1": "test",
    "field2": {
        "foo": "bar"
    }
}'

Lorsque je lance la commande ci-dessus, semble erreur s'est produite lors de la second {
Comment réparer la commande ci-dessus?

Mis à jour: en fait, j'ai été en mesure d'exécuter la commande sans problème auparavant, je ne sais pas pourquoi le problème est arrivé récemment.

  • Pouvez-vous nous en dire plus sur l'erreur? Votre exemple fonctionne "comme est" sur mon système. mymac > bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15) Copyright (C) 2007 Free Software Foundation, Inc.
  • Yup, fonctionne pour moi aussi: GNU bash, version 4.3.42(1)-release
  • Aussi découvrez le C ANSI comme la syntaxe de la chaîne: echo $'here is a newline:\nand here is a tab:\t'
  • application/json est le type de support correct pour les données JSON -- voir RFC4627
InformationsquelleAutor Ryan | 2016-01-18