gpt4 book ai didi

java - 如何使用 java 在 Couchdb 中存储原始 JSON

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:31 25 4
gpt4 key购买 nike

我目前正在解析一个 Web 服务,该服务向我提供 Json 文档作为响应。我想使用 java 将它们存储在 CouchDb 中,但我找不到方法。使用 java 的 couchdb 库(Ektorp、couchdb4j 等...),我只能将 java 文档存储在数据库中,这意味着我必须将原始 json 转换为 java 文档才能存储它们。你知道我如何直接存储原始 json 吗?非常感谢提前

最佳答案

Ektop 文档提供 an example使用存储在文件中的 JSON 更新文档:

 File file = someMethodToGetFile();
InputStream jsonInputStream = new FileInputStream(file);
db.update("document_id",
jsonInputStream,
file.length(),
null);

如果您的 JSON 位于 Java 程序的内存中(例如作为字符串),则可以将字符串包装在 ByteArrayInputSteam 中,而不是使用 FileInputStream:

 String yourJsonString = ...

InputStream jsonInputStream = new ByteArrayInputStream(yourJsonString.getBytes());
db.update("document_id",
jsonInputStream,
file.length(),
null);

或者,CouchDB 是通过 Restful API 访问的,因此您可以使用任何理解 REST 的 Java 库与 CouchDB 进行交互,例如使用 Apache HttpClient :

String yourJsonString = ...

StringRequestEntity requestEntity = new StringRequestEntity(
yourJsonString,
"application/json",
"UTF-8");

PostMethod postMethod = new PostMethod("http://couchdb.server/database");
postMethod.setRequestEntity(requestEntity);

int statusCode = httpClient.executeMethod(postMethod);

关于java - 如何使用 java 在 Couchdb 中存储原始 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28274811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com