Чтение данных JSON из файла для использования в StringEntity - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь прочитать простые данные из текстового файла JSON и преобразовать его в StringEntity для использования в запросе API POST.Хотя мой запрос API-публикации работает нормально, если данные жестко закодированы как StringEntity, я пытаюсь успешно проанализировать данные.Все предполагаемые решения, которые я нашел, имеют дело с массивами, которые слишком усложняют для меня.

Вот пример текстового файла JSON:

{
"data":"d1",
"data2":"d2",
"data3":"d3"
}

Вот код, который я использую, чтобы попытаться импортировать данные.

JSONParser parser = new JSONParser();
    JSONObject a = new JSONObject();
    try {
        FileReader fileReader = new FileReader("/directory/file.json");
        a = (JSONObject) parser.parse(fileReader);
        } catch (Exception e1) {
        e1.printStackTrace();
        }
String data = a.toString();
StringEntity entity = new StringEntity(data);   
entity.setContentType(ContentType.APPLICATION_JSON.getMimeType());
request.addHeader("Accept", acceptHeader);
    request.setEntity(entity);
    HttpResponse response = client.execute(request);

Я чувствуюкак будто я где-то действительно глупЯ новичок.StringEntity жестко запрограммирован так, когда это работает, поэтому я должен импортировать и анализировать его следующим образом:

StringEntity entity = new StringEntity("{\"data\":\"d1\",\"data2\":\"d2\",\"data3\":\"d3\"}");

Используемые классы:

import org.json.JSONObject;
import org.json.JSONArray;
import org.json.simple.parser.JSONParser;

1 Ответ

0 голосов
/ 21 марта 2019

На всякий случай, если кому-то еще это интересно ... в итоге было найдено следующее решение, поскольку не было необходимости анализировать или форматировать JSON:

String data;
data = new String(Files.readAllBytes(Paths.get("file.json")));

Необходимые библиотеки:

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