ArangoDB Java _id 中的驱动程序正斜杠被转义
ArangoDB Java Driver Forwardslash in _id is escaped
当通过 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;
有什么方法可以避免这种情况而无需用正则表达式替换所有内容吗??
您在 query() 调用中将参数 type
设置为 String
,这导致 java-驱动程序将结果解析为 Json 格式。在 Json 中 /
和其他字符被转义是正确的。每个 Json 解析器都应该能够处理它。
java-驱动程序已经支持将结果解析为 POJO,Map<String, Object>
或实用程序 class BaseDocument
而无需绕过 Json .您可以为此找到一些示例 here.
当通过 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;
有什么方法可以避免这种情况而无需用正则表达式替换所有内容吗??
您在 query() 调用中将参数 type
设置为 String
,这导致 java-驱动程序将结果解析为 Json 格式。在 Json 中 /
和其他字符被转义是正确的。每个 Json 解析器都应该能够处理它。
java-驱动程序已经支持将结果解析为 POJO,Map<String, Object>
或实用程序 class BaseDocument
而无需绕过 Json .您可以为此找到一些示例 here.