Gostaria de saber como posso fazer para transformar em json em um array.
O caso é o seguinte: Eu envio um JSON por post para um HttpServer. Ele le linha por linha, e concatena numa String chamada TextReceived. Ai fica um String gigante, certo? Eu precisava transformar isso num array, para depois jogar num banco de dados.
NOTA: Estou usando o Json Jackson!
public void handle(HttpExchange he) throws IOException {
Headers h = he.getResponseHeaders();
h.add("Access-Control-Allow-Origin", "*");
h.add("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Map<String, Object> parameters = new HashMap<String, Object>();
InputStreamReader isr = new InputStreamReader(he.getRequestBody(), "utf-8");
BufferedReader br = new BufferedReader(isr);
String response = "sucess";
String thisLine = "";
String TextReceived = "";
while ((thisLine = br.readLine()) != null) {
TextReceived += thisLine;
}
System.out.println(TextReceived);
he.sendResponseHeaders(200, response.length());
OutputStream os = he.getResponseBody();
os.write(response.toString().getBytes());
os.close();
}
}
Eu já tentei esses métodos para conversão, porém, não rolou
//ObjectMapper objectMapper = new ObjectMapper();
//TypeFactory typeFactory = objectMapper.getTypeFactory();
// Método 1 - Não retorna resposta (There was an error connecting to localhost)
// List<dataHandler> dataHandlerList = objectMapper.readValue(TextReceived, new
// TypeReference<List<dataHandler>>() { } ) ;
// System.out.println(dataHandlerList);
// Método 2 - Não retorna resposta (There was an error connecting to localhost)
// List<dataHandler> dataHandlerList = objectMapper.readValue(TextReceived,
// typeFactory.constructCollectionType(List.class, dataHandler.class));
// System.out.println(dataHandlerList);
//Método 3 - Não retorna resposta (There was an error connecting to localhost)
//dataHandler[] server = objectMapper.readValue(TextReceived, typeFactory.defaultInstance().constructArrayType(dataHandler.class));
//System.out.println(server);