2017-05-15 113 views
0

我想運行下面的查詢來獲取JSON的特定部分:Marklogic的Java API查詢記錄器

cts:search(/user/userdetail, cts:word-query("test1"))

在Java中使用Marklogic的Java API。

上述查詢給我完美的結果,但我想用Marklogic Java客戶端使用Java編寫代碼。

下面是JSON文件:

{ 
    "user": { 
    "userdetail": [ 
     { 
     "username": "test", 
     "firstName": "testName", 
     "lastName": "testLastName", 
     "maritalStatus": "Unmarried", 
     "password": "testPassword" 
     }, 
     { 
     "username": "test1", 
     "firstName": "testName1", 
     "lastName": "testLastName2", 
     "maritalStatus": "married", 
     "password": "testPassword1" 
     } 
    ] 
    } 
} 

回答

1
QueryManager queryMgr = databaseClient.newQueryManager(); 
RawCombinedQueryDefinition query = queryMgr.newRawCombinedQueryDefinitionAs(Format.JSON, 
    "{\"search\": {" + 
    " \"qtext\": \"test1\"," + 
    " \"options\": {" + 
    " \"searchable-expression\": {" + 
    "  \"text\": \"/user/userdetail\"" + 
    " }," + 
    " \"transform-results\": {\"apply\": \"raw\"}" + 
    "}}}" 
); 
JsonNode jsonResponse = queryMgr.search(query, new JacksonHandle()).get(); 
JsonNode firstMatch = jsonResponse.path("results").path(0).path("content"); 
+0

感謝薩姆。它工作完美 – Pavan