java客户端获取查询结果时不是很方便,ResultSet.getRows().get(0).columns获取所有列值的集合nodeValues。再对nodeValues循环,如果列值类型为string,返回的却是byte[] 需要自行转换。且列名和列值没有对应关系,只能循环遍历。不是很方便。代码如下:
ResultSet node = graphClient.executeQuery("fetch prop on * 1");
List<String> nodeList = node.getColumns();
List<ColumnValue> nodeValues = node.getRows().get(0).columns;
for (int i = 0; i < nodeList.size(); i++) {
String name = nodeList.get(i);
Object value = nodeValues.get(i).getFieldValue();
String valueType = value.getClass().getTypeName();
if(valueType.startsWith("byte")){
value = new String(nodeValues.get(i).getStr());
}
System.out.println("name=" + name + ",,value = " + value);
}