使用Datastax Java Driver将行查询为JSON

Vis*_*han 4 java json scala cassandra datastax

我正在尝试使用datastax java驱动程序并将该行检索为JSON.

我做经典之作 SELECT JSON * from myTable WHERE id=1,它在CQL上返回一个Json格式的字符串.

例如 { "uuid" : "12324567-...." }

这有效.

现在,当我尝试使用Java驱动程序时,我使用(在scala中)

val resultSet = session.execute(queryString)
Run Code Online (Sandbox Code Playgroud)

我使用以下方法从此结果集中选取一行:"resultSet.one()".这有我需要的字符串,但我该如何选择呢?

实验: resultSet.one().getColumnDefinitions.toString

打印: Columns[ [json] (varchar) ]

实验:resultSet.one().toString()
打印:Row[{"uuid": "3ce19e07-2280-4b31-9475-992bda608e70"}]< - 我需要的字符串

如何在我的程序中选择一个代表JSON的简单字符串,而不尝试拆分上面的字符串?

and*_*ler 5

Cassandra文档中所述:

结果SELECT JSON将只包含一个名为的列[json].此列将包含用于行的JSON编码的相同映射表示形式INSERT JSON.

要访问返回行的JSON值,您需要使用类中getString定义的方法之一,Row通过索引或按名称获取此列的值:

Row row = resultSet.one();
String json1 = row.getString(0);
String json2 = row.getString("[json]");
Run Code Online (Sandbox Code Playgroud)