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.