Windows: curl with json data on the command line

curl, elasticsearch, json

Solution

Windows's `cmd` doesn't support strings with single quotes. Use `"` and escape the inner ones with `\"`.

Problem

I am running the following command in Windows prompt: ``` 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"}}}}' ``` I get the following error: ``` { "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: org.elasticsearch.common.compress.lzf.LZFCompressedStreamInput@45 4ed1d2; line: 1, column: 2]]; ", "status" : 400 } ``` I searched for solutions and found alternatives such as put json data in files, but I cannot use it for some reasons. Thanks!

Original source