Curl, дающий ошибку "Invalid UTF-8 JSON" от CouchDb, хотя JSON в порядке? Есть идеи?
Это немного отличается от вопроса под названием "Ошибка о" недействительном JSON с представлением couchDB, но jsons fine ": я не пытаюсь загрузить файл, просто введите простой документ.
Пример, который я пытаюсь использовать, - это на самом деле книга О'Рейли "CouchDB: The Definitive Guide", и я уверен, что я уже пробовал ее и получил ее для работы. Здесь команда:
curl -X PUT http://username:[email protected]:5984/albums/6e1295ed6c29495e54cc05947f18c8af -d '{"title":"There is Nothing Left to Lose","artist":"Foo Fighters"}'
Существующие альбомы базы данных и правильное имя пользователя и пароль. Я проверил это с помощью JSONLint, и JSON действителен, и я в недоумении... по-видимому, есть проблема с самим CouchDB-сервером, но, похоже, он работает правильно... любые идеи? Это сводит меня с ума!
Спасибо
Ответы
Ответ 1
Спасибо, ребята. Оказывается, это проблема с эвакуацией цитаты. Вот ответ, который я получил от Дэвида в списке рассылки пользователей CouchDB:
Это дело о том, что касается цитирование - настоящий PITA. К сожалению cmd.exe shell на окнах не анализирует это правильно. Правила для экранирование с помощью "или" ^ "или" \ "немного расплывчато, но это работает:
C:\tmp > curl -X PUT http://username:[email protected]:5984/albums/6e1295ed6c29495e54cc05947f18c8af-d" {\ "title\": \ "Нет ничего, что можно было бы потерять \", \ "artist\": \ "Foo Бойцы \" } "{" ОК ": правда," идентификатор ":" 6e1295ed6c29495e54cc05947f18c8af "," оборот ":" 1-4b39c2971c9ad54cb37e08fa02fec636 "}
C:\TMP >
" в основном вам нужно "убежать" \ quotes\ "в вашем JSON"
Это устраняет мою проблему
Ответ 2
Я также встретил такую же проблему, после некоторого поиска я нашел около Git Bash в другом вопросе. Git bash имеет команду curl внутри. Git bash включен в установщик Git.
Ответ 3
Вы должны поместить символ escap character **, а также не забудьте поставить после -d все вещи в ** "".
Т.е.: curl -X PUT http://127.0.0.1:5984/my_database/ "001" -d " {\" Name \ ":\" Suresh \ ",\" age \ ":\" 32 \ ",\" Назначение \ ":\" Associates Manager \ "}"