我正在尝试使用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的简单字符串?
的结果
SELECT JSON
将仅包含一个名为的列[json]
。此列将包含与用于的行相同的JSON编码映射表示INSERT JSON
。
为了访问返回的行的JSON值,您需要使用getString
在Row
类上定义的方法之一,以按索引或按名称获取此列的值:
Row row = resultSet.one();
String json1 = row.getString(0);
String json2 = row.getString("[json]");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句