通过Java驱动程序使用AQL查询查询ArangoDB时,_id属性中的正斜杠将被转义。
结果是:
{"_id":"sed\/CLI_ELE_ALL_400_01.324fd0e4-cf8a-4e39-9889-d1c50ab3594c","_key":"...
但我想这样:
{"_id":"sed/CLI_ELE_ALL_400_01.324fd0e4-cf8a-4e39-9889-d1c50ab3594c","_key":"...
代码段:
String query = "for node in nodes return node"
try {
ArangoCursor<String> cursor = driver.query(query, null, null, String.class);
if (cursor.hasNext()) {
data = cursor.next();
System.out.println(data));
}
} catch (ArangoDBException ex) {}
return data;
有没有办法绕过这个而不需要正则表达式替换一切?
答案 0 :(得分:0)
将query()调用中的参数type
设置为String
,这会导致java驱动程序将结果解析为Json格式。在Json中,/
和其他字符被转义是正确的。每个Json解析器都应该能够处理它。
java-driver已经支持将结果解析为POJO,Map<String, Object>
或实用程序类BaseDocument
,而无需绕过Json。您可以找到此here的一些示例。