2017-02-27 6 views
0

Java 드라이버를 사용하여 AQL 쿼리를 사용하여 ArangoDB를 쿼리 할 때 _id 속성의 슬래시가 이스케이프됩니다.ArangoDB Java 드라이버 _id의 Forwardslash가 이스케이프됩니다.

{"_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

query() 호출에서 type 매개 변수를 String으로 설정하면 java 드라이버가 결과를 Json 형식으로 구문 분석합니다. Json에서는 /과 다른 문자가 이스케이프 처리되는 것이 맞습니다. 모든 Json 파서가이를 처리 할 수 ​​있어야합니다.

Java 드라이버는 결과를 POJO, Map<String, Object> 또는 유틸리티 클래스 BaseDocument에 대한 구문 분석을 Json을 통해 우회하지 않고 이미 지원합니다. 이 here에 대한 몇 가지 예를 찾을 수 있습니다.