Завихрение, дающее “Недопустимый UTF-8 JSON” ошибка от CouchDb, хотя JSON прекрасен? Какие-либо идеи?

Это немного отличается от вопроса, названного "Ошибка о ‘недопустимом 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, но это, кажется, выполняет правильно... любые идеи? Это сводит меня с ума!

Спасибо

22
задан Alfamale 27 July 2010 в 21:01
поделиться

1 ответ

Спасибо, ребята. Оказалось, что это проблема с экранированием кавычек. Вот ответ, который я получил от Дэвида из списка рассылки пользователей 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"

Это устраняет мою проблему

23
ответ дан 29 November 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: