Cassandra DB:从Jsson的Cassandra时间戳解析瞬间失败

时间:2018-01-12 15:22:18

标签: java database parsing cassandra timestamp

让我说我有一个像这样的单列表:

CREATE TABLE test (
id int,
time timestamp,
PRIMARY KEY(id)
);

现在我按Json插入数据:

INSERT INTO test JSON '{"id":1,"time":"2018-01-12T15:06:02.753Z"}'

结果如下:

id        time
1         2018-01-12 15:06:02.753+0000

现在我再次选择Json作为条目:

SELECT JSON * from test where id=1;

生成的Json看起来像这样:

{  
   "id":1,
   "time":"2018-01-12 15:06:02.753+0000"
}

如果我现在想要将上面json中的字段“time”解析为Instant,它会因为空格而失败:

Exception in thread "main" java.time.format.DateTimeParseException: Text '2018-01-12 10:23:00.461Z' could not be parsed at index 10

我可以用'T'-Delimiter替换空白Charakter,但是有更好的解析瞬间的方法吗?

1 个答案:

答案 0 :(得分:1)

Datastax Java驱动程序支持开箱即用的表到对象的映射。您不必自己编写代码。

Java驱动程序会自动将时间戳映射到java.util.Date个对象。请参阅以下相关文档: