2017-05-15 6 views
0

私は、JSONの特定の部分を取得するには、以下のクエリを実行したい:MarklogicのJava APIを使用してJavaでMarklogic Java APIのクエリロガー

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

を。

上記のクエリは私には完璧な結果をもたらしますが、Marklogic Javaクライアントを使用してJavaでコードを記述したいと思います。

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

感謝サム:

以下はJSONファイルです。それは完全に働いた – Pavan

関連する問題