Windows: зависание с данными json в командной строке

В командной строке Windows запускается следующая команда:

curl -XPUT http://127.0.0.1:9200/test-index/test-type/_mapping?pretty=true -d '{"test-type": {"properties": {"name": {"index": "analyzed", "term_vector": "with_positions_offsets", "boost": 1.0, "store": "yes", "type": "string"}}}}'

Я получаю следующую ошибку:

{
  "error" : "ElasticsearchParseException[Failed to parse content to map]; nested: JsonParseException[Unexpected character (''' (code 39)): expected a
valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: [email protected]5
4ed1d2; line: 1, column: 2]]; ",
  "status" : 400
}

Я искал решения и нашел альтернативы, такие как put json data в файлах, но я не могу использовать его по некоторым причинам.

Спасибо!

Ответ 1

Windows cmd не поддерживает строки с одинарными кавычками. Используйте " и избегайте внутренних с помощью \".

Ответ 2

"Я искал решения и нашел альтернативы, такие как put json data в файлах, но я не могу использовать его по некоторым причинам"

Это должно работать с hello.json в temp. Требуется @.

c:\temp>curl -v -X PUT  \ 
             --data "@hello.json"  \
             -H "Content-Type:application/json"  \
             http://localhost:8080/api/myresource