java - 如何在 java 中从 couchbase 获取 json 文档?

标签 java json memcached couchbase spymemcached

我有一个在多个应用程序之间共享的 couchbase 数据库,将文档存储为 json。我似乎无法将数据导入我的 Java 应用程序,因为它似乎依赖于 native Java 二进制序列化。

这段代码:

CouchbaseClient client = new CouchbaseClient(hosts,"bucket","");
System.out.println((String)client.get("someKey"));

结果

net.spy.memcached.transcoders.SerializingTranscoder:  Failed to decompress data
java.util.zip.ZipException: Not in GZIP format

因为它默认尝试反序列化。我注意到我可以提供自己的转码器,但我真的只想要原始字符串数据,这样我就可以使用 gson 或其他方式自己对它进行 json 解析。似乎没有可用的转码器给我这个。

couchbase 文档有一个设置 json 的示例,但没有一个用于读取它。人们如何将 json 读入 java?

最佳答案

首先,这个问题很快就会消失,因为 Couchbase“2.0 SDK”在彼此之间实现了通用标志,因此不会出现此类问题。 Michael's blogs如果你想看看这里发生了什么,这是一本很好的读物。出现问题的原因首先是在 1.x 系列中,Couchbase 试图保持与现有应用程序代码和 memcached 的兼容。在 memcached 世界中,客户端都是由不同的人在不同的时间编写的。

根据异常情况,我相信您可能正在尝试读取 .NET 存储的项目。我有一个 sample transcoder你可以使用几周前的这个。

关于java - 如何在 java 中从 couchbase 获取 json 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26151425/

相关文章:

python - 在 Django 中对分页 View 的第一页使用缓存

php - 维基百科使用了什么样的缓存机制?

Java - 替换堆内存中的现有对象

java GridBagLayout anchor

c# - 如何使用 JSON.Net 将 System.Drawing.Size 反序列化/序列化为对象?

ios - NSString 的逗号分隔天数到 NSDate 计算与当前日期最接近的日期

javascript - 在 Node js 中调用 java 方法

java - 通过 GAE 进行 http 请求时,GAE 是否缓存数据?

java - 将 PostgreSQL JSON 列映射到 Hibernate 实体属性

php - 让 Zend Framework 2 Memcached 工作