Скручивание дает ошибку "Invalid UTF-8 JSON" из CouchDb, хотя JSON в порядке?Есть идеи? - PullRequest
22 голосов
/ 28 июля 2010

Это немного отличается от вопроса, озаглавленного «Ошибка о« недопустимом JSON »с представлением couchDB, но все в порядке с json»: я не пытаюсь загрузить файл, введите только простой документ.

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

Спасибо

Ответы [ 3 ]

23 голосов
/ 28 июля 2010

Спасибо, ребята. Оказывается, это проблема с выходом цитаты. Вот ответ, который я получил от Дэвида в списке рассылки CouchDB:

Это вещь, касающаяся окон цитирование - настоящая пита. к несчастью Оболочка cmd.exe на windows не разбирается это правильно. Правила, когда бежать с "" или ^ "или" являются немного расплывчато, но это работает:

C: \ tmp> curl -X PUT http://username:password@127.0.0.1:5984/albums/6e1295ed6c29495e54cc05947f18c8af -d "{\" title \ ": \" Там нечего терять \ ", \" artist \ ": \" Foo Бойцы \ "}" { "ОК": правда, "идентификатор": "6e1295ed6c29495e54cc05947f18c8af", "оборот": "1-4b39c2971c9ad54cb37e08fa02fec636"}

C: \ TMP>

"в основном вам нужно \" убежать \ "от всех \ "цитаты \" в вашем JSON "

Это решает мою проблему

0 голосов
/ 20 апреля 2017

Вы должны поставить символ экранирования **, а также не забыть поставить после -d все вещи в ** "" .Т.е.: curl -X PUT http://127.0.0.1:5984/my_database/"001" -d " {\" Имя \ ": \" Суреш \ ", \" Возраст \ ": \" 32 \ ", \" Обозначение \ ": \"Ассоциированный менеджер \"}"

0 голосов
/ 05 сентября 2014

Я также столкнулся с той же проблемой, после поиска я нашел около Git Bash в другом вопросеGit Bash имеет команду curl внутри.Git bash входит в состав установщика Git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...