I'm trying to read simple data from a JSON text file and convert to a StringEntity for use in an API POST request. Whilst my API post request works fine if the data is hardcoded as a StringEntity, I am struggling to successfully parse the data. All prospective solutions I've googled deal with arrays which over complicate things for me.
Here is a sample of the JSON text file:
{
"data":"d1",
"data2":"d2",
"data3":"d3"
}
Here is the code I am using to try and import the data.
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);
I feel like I'm being really foolish here somewhere. I am newbie. The StringEntity is hardcoded in like this when this works, so this is how I need it imported and parsed:
StringEntity entity = new StringEntity("{\"data\":\"d1\",\"data2\":\"d2\",\"data3\":\"d3\"}");
Classes used:
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.simple.parser.JSONParser;