我正在尝试使用datastax java驱动程序并将该行检索为JSON。
我做经典
SELECT JSON * from myTable WHERE id=1
,这将在CQL上返回一个Json格式的字符串。
例如{ "uuid" : "12324567-...." }
这很有效。
现在,当我尝试使用Java驱动程序时,我使用(在scala中)
val resultSet = session.execute(queryString)
我使用"resultSet.one()"
从此结果集中选取一行。
这有我需要的字符串,但我如何选择它?
实验:resultSet.one().getColumnDefinitions.toString
打印:Columns[ [json] (varchar) ]
实验:resultSet.one().toString()
打印:Row[{"uuid": "3ce19e07-2280-4b31-9475-992bda608e70"}]
< - 我需要的字符串
如何在我的程序中选择一个代表JSON的简单字符串,而不尝试拆分上面的字符串?
答案 0 :(得分:5)
SELECT JSON
的结果只会包含一个名为[json]
的列。此列将包含用于INSERT JSON
的行的JSON编码的地图表示形式。
为了访问返回行的JSON值,您需要使用Row
类中定义的getString
方法之一,以索引或按名称获取此列的值:
Row row = resultSet.one();
String json1 = row.getString(0);
String json2 = row.getString("[json]");