问题...我正在尝试通过_bulk_docs API向CouchDB添加数据。在大多数情况下,我有这个工作,但任何包含特殊字符的JSON值(例如我的数据中存在某些西班牙语或法语字符)会导致CouchDB给出“无效的JSON”错误,并且数据被拒绝。
我不确定我需要设置什么才能让它工作。有什么建议? CouchDB似乎正确地获取数据(至少它在日志文件中看起来是正确的),但除非我删除特殊字符,否则它不会被处理。
答案 0 :(得分:0)
content-type应该是application / json,而不是test / plain
我不熟悉你的JSON解析器,但要确保它是utf-8,因为你的http客户端库设置为utf-8并不意味着你的json序列化器输出unicode。
答案 1 :(得分:0)
我会尝试调试这样的问题:
使用命令行中的curl创建文档:
curl -X POST -d@test.js http://localhost:6984/testdb/_bulk_docs
其中test.js包含一些带有特殊字符的文档。并查看这是否按预期工作。
注意:默认情况下curl应该使用content-type:application / x-www-form-urlencoded发送数据,这可能是问题,但检查标题是因为我不确定。
希望这可以帮到你。