Это немного отличается от вопроса, названного "Ошибка о ‘недопустимом JSON’ с представлением couchDB, но штрафом json": Я не пытаюсь загрузить файл, только вводят простой документ.
Примером, который я пытаюсь использовать, является на самом деле из книги O'Reilly "CouchDB: Полное руководство" и я вполне уверен, что я попробовал его прежде и заставил его работать. Вот команда:
curl -X PUT http://username:password@127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af -d '{"title":"There is Nothing Left to Lose","artist":"Foo Fighters"}'
Альбомы базы данных существуют, и имя пользователя и пароль корректны. Я проверил это с JSONLint, и JSON допустим, и я в замешательстве..., по-видимому, существует проблема с самим сервером CouchDB, но это, кажется, выполняет правильно... любые идеи? Это сводит меня с ума!
Спасибо
Спасибо, ребята. Оказалось, что это проблема с экранированием кавычек. Вот ответ, который я получил от Дэвида из списка рассылки пользователей CouchDB:
Это проблема windows относительно цитирования - настоящая морока. К сожалению, оболочка cmd.exe на windows не разбирает это правильно. Правила для того, когда экранирования с помощью "" или ^" или \" являются немного расплывчаты, но это работает:
C:\tmp>curl -X PUT http://username:password@127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af -d "{\"title\":\"There is Nothing Left to Lose\",\"artist\":\"Foo Fighters\"}" {"ok":true, "id": "6e1295ed6c29495e54cc05947f18c8af", "rev": "1-4b39c2971c9ad54cb37e08fa02fec636"}
C:\tmp>
"В основном вам нужно \"убежать\" от всех \"кавычки\" в вашем JSON"
Это устраняет мою проблему