【发布时间】:2017-08-16 10:17:06
【问题描述】:
我的 cassandra 表中有几个非原始列。 其中一些是用户定义类型的 UDT。
通过 datastax 驱动程序查询它们时,我想将此类 UDT 转换为 JSON 值。 更具体地说,我想为下面的值对象获取 JSON 字符串:
Row row = itr.next();
ColumnDefinitions cds = row.getColumnDefinitions();
cds.asList().forEach((ColumnDefinitions.Definition cd) -> {
String name = cd.getName();
Object value = row.getObject(name);
}
我已经通过http://docs.datastax.com/en/developer/java-driver/3.1/manual/custom_codecs/
但我不想为我拥有的每个 UDT 添加编解码器。
看Using Datastax Java Driver to query a row as a JSON,我也试过这个:
row.getString(name)
但它给了我一个错误:Codec not found for requested operation: [set<date> <-> java.lang.String]
驱动程序能否以某种方式返回我直接 JSON 而无需显式干预编解码器和所有内容?
【问题讨论】:
标签: cassandra datastax datastax-java-driver