1

我正在尝试解析一个 Web 服务,它会为我提供 JSON 数据作为响应。我正在使用 ektorp 将 JSON 数据存储在 couchdb 中。所以我有一个包含 JSON 数据的字符串,例如:

String t = "{\"id\":2834361855,\"name\":\"Деменковa Елена\"}";

然后我将字符串转换为 InputStream 来存储 JSON,就像这样:

InputStream jsonInputStream = 
    new ByteArrayInputStream(t.getBytes(Charset.forName("UTF-8")));

db.update(String.valueOf(id),
               jsonInputStream,
               t.length(),
               null);

但它引发了一个例外:

400:Bad Request URI: /databs/101 Response Body: { "error" : "bad_request", "reason" : "invalid_json" }

而且我很确定这是一个字符集问题,因为如果我更改字符串,使其不再包含任何俄语字符,例如:

String t = "{\"id\":2834361855,\"name\":\"toto\"}";

然后它工作得很好。我不知道我做错了什么,我尝试了很多事情都没有运气。非常感谢您的帮助,我真的很困惑。

4

0 回答 0