Формирование пользовательского объекта JSON из ответа JSON от упругого поиска - PullRequest
0 голосов
/ 26 июня 2018

Получаю ответ от ElasticSearch, из этого ответа я хочу сформировать еще один JSON с ограниченными полями (например, пользовательский JSONObject).

Пожалуйста, найдите ответ, который я получаю от упругого поиска.

{  
   "took":93,
   "timed_out":false,
   "_shards":{  
      "total":5,
      "successful":5,
      "skipped":0,
      "failed":0
   },
   "hits":{  
      "total":1,
      "max_score":1.0,
      "hits":[  
         {  
            "_index":"attachment",
            "_type":"doc",
            "_id":"87740",
            "_score":1.0,
            "_source":{  
               "app_language":"ES",
               "filetype":"PB",
               "attachment":{  
                  "date":"2006-05-03T15:17:53Z",
                  "content_type":"application/pdf",
                  "author":"JJamesN",
                  "language":"en",
                  "title":"Microsoft Word - te7000pb.doc",
                  "content":"European Electronic Controls Catalog ",
                  "content_length":12267
               },
               "ext":"pdf",
               "fileContent":"JVBERi0xLjQNJeLjz9MNCjQ3ID"
            }
         }
      ]
   }
}

Пожалуйста, найдите мой код Java, который пытается манипулировать ответом JSON, чтобы создать отдельный JSON с ограниченными полями.

JSONObject jsonObject = new JSONObject(responseBody);
JSONObject  hits = jsonObject.getJSONObject("hits");
JSONArray hitsArray=hits.getJSONArray("hits");
System.out.println("Hits---->"+hitsArray.toString());

Из ответа JSON я просто хочу создать новый JSON со следующей структурой и полями.

 {
     "app_language":"ES",
     "filetype":"PB",
     "attachment.content" : "European Electronic Controls Catalog ",
     "ext":"pdf",
 }

1 Ответ

0 голосов
/ 26 июня 2018

Попробуйте это:

JSONObject jsonBody = new JSONObject();
                jsonBody.put("app_language","value");
                jsonBody.put("filetype","value");
                jsonBody.put("attachment.content","value");
                jsonBody.put("ext",ext);

//String requestBody = jsonBody.toString();

Просто извлеките свои значения из ответа и используйте их где угодно. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...