У меня есть следующий код, который должен анализировать простой json следующим образом:
{"jsonTest":
{"innerKey":"innerValue"}
}
Здесь значение 'jsonTest' является объектом json. Вопрос: можно ли проанализировать этот JSON (используя Джексона) и получить значение 'jsonTest' в виде простой строки? Другими словами, есть ли способ попросить парсер не анализировать внутренний объект json?
вот что я пробовал до сих пор. Это приводит к исключению синтаксического анализа
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonParserTest {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
String json = "{\"jsonTest\":{\"innerKey\":\"innerValue\"}}";
TestJson js = mapper.readValue(json, TestJson.class);
System.out.println(js.getJsonTest());
}
}
class TestJson {
private String jsonTest;
public String getJsonTest() {
return jsonTest;
}
public void setJsonTest(String jsonTest) {
this.jsonTest = jsonTest;
}
}