Я пытаюсь проверить простой корпус JSON с помощью Jackson, где я храню запрос JSON как String в переменной dataJson.Исключение: "org.codehaus.jackson.map.JsonMappingException: не удается десериализовать экземпляр java.lang.String из токена START_OBJECT"
public void unmarshal(InputStream is) throws Exception {
// this will contain my actual json string
String dataJson= StUtil.toString(is);
System.out.println(dataJson);
//parse json string
String response = objectMapper.readValue(dataJson, String.class);
System.out.println(response);
}
SUtil.toString (InputStream есть) метод:
public static String toString(final InputStream is) {
final BufferedReader br = new BufferedReader(new InputStreamReader(is));
final StringBuffer buffer = new StringBuffer();
try {
for (String line; (line = br.readLine()) != null;) {
buffer.append(line);
}
} catch (IOException ioe) {
}
return buffer.toString();
}
Я учусь часть проверки с помощью Джексона, но он выдает ошибку/исключение на линии
String response = objectMapper.readValue(dataJson, String.class);
и ниже является исключением, которое я получаю -
Exception: "org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.lang.String out of START_OBJECT token"
Я хотел узнать, что я делаю неправильно. Любая помощь по этому поводу будет оценена по достоинству.
JSON Запрос:
{"username" : "my_username","password" : "my_password","validation-factors":{"validationFactors":[{"name":"remote_address","value":"127.0.0.1"}]}}