programing

JsonNode를 ObjectNode로 변환하는 방법

abcjava 2023. 4. 1. 08:06
반응형

JsonNode를 ObjectNode로 변환하는 방법

나는 가지고 있다com.fasterxml JsonNode오브젝트에는 데이터가 포함되어 있습니다.데이터를 좀 조작해야겠어요.나는 답을 검색해 보았지만 제대로 이해하지 못했다.JsonNode 데이터 조작 방법을 제안해 주시겠습니까?나도 개종을 시도했다.JsonNode로.ObjectNode다음과 같이

ObjectNode objectNode = (ObjectNode)filterJson;

하지만 예외는 있습니다.

java.lang.ClassCastException: com.fasterxml.jackson.databind.node.TextNode cannot be cast to 
com.fasterxml.jackson.databind.node.ObjectNode

제발 도와주세요!!

변환할 수 있습니다.JsonNode에 있어서ObjectNode다음과 같은 간단한 방법으로요.

ObjectNode objectNode = jsonNode.deepCopy();

잭슨 2.0에서 이용 가능하며 잭슨 2.4.0에서 테스트 완료

마침내 다음과 같은 해결책을 얻었습니다.

JsonNode jsonNode = Json.toJson("Json String");
ObjectNode node = (ObjectNode) new ObjectMapper().readTree(jsonNode.asText());
//perform operations on node
jsonNode = (JsonNode) new ObjectMapper().readTree(node.toString());

또는 아래와 같은 다른 것...

ObjectNode node = (ObjectNode) new ObjectMapper().readTree("Json String")
//perform operations on node
jsonNode = (JsonNode) new ObjectMapper().readTree(node.toString());

하지만 이게 좋은 방법인지 아닌지 모르겠어요. 위보다 더 좋은 방법이 있다면 알려주세요.감사해요!

저 같은 경우에는 바보같은 실수였지만 저도 이 오류가 있었습니다.실수로 수입했다org.codehaus.jackson.node.ObjectNode대신com.fasterxml.jackson.databind.node.ObjectNodeJackson ObjectNode를 사용하여 이슈를 수정했습니다.

다음과 같이 JsonNode를 ObjectNode로 변환할 수 있습니다.

JsonNode demoPath = requestParams.at("/Subscription/0");
((ObjectNode) demoPath).put("mylID", "test12");

나도 가끔 해 봐, 괜찮을 거야!정의해야 할 것은Student Class속성을 매핑합니다.그 후, 그 변환은jsonNode로.Student물건.

Student student = objectMapper.convertValue(jsonNode1, Student.class);

이게 니즈에 맞을 것 같아!

언급URL : https://stackoverflow.com/questions/32713109/how-to-convert-jsonnode-to-objectnode

반응형