1. ホーム

[解決済み] JacksonでJSON文字列をJsonNodeにパースする方法は?

2022-04-01 15:41:44

質問

簡単なはずなのに、1時間やっても見つからない。

例えば、JSONの文字列を取得したいのですが。 {"k1":v1,"k2":v2} としてパースされます。 JsonNode .

JsonFactory factory = new JsonFactory();
JsonParser jp = factory.createJsonParser("{\"k1\":\"v1\"}");
JsonNode actualObj = jp.readValueAsTree();

与える

java.lang.IllegalStateException: No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree

解決方法は?

リチャーズの答えの若干のバリエーションですが readTree は文字列を取ることができるので、簡略化することができます。

ObjectMapper mapper = new ObjectMapper();
JsonNode actualObj = mapper.readTree("{\"k1\":\"v1\"}");