Как изменить ответ jsonNode в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
 Как изменить ответ jsonNode в Java?

Сообщение Anonymous »

Мне нужно изменить значение атрибута json. Ниже приведенный элемент ответа, как лучше всего заменить атрибут IMEI?
Вот код, который я попробовал
String data = "{\"ctnInfo\":{\"device\":{\"devideDetails\":{\"imei\":\"1234567891011\",\"type\":\"imei\"}}},\"subscriberInfo\":{\"subscriberInfo\":{\"imei\":\"1234567891011\"}}}";
ObjectMapper mapper = new ObjectMapper();
JsonNode parentObj = mapper.readTree(data);

JsonNode subscriberInfo1 = parentObj
.get("subscriberInfo")
.get("subscriberInfo");
if (null != subscriberInfo1
&& subscriberInfo1.hasNonNull("imei")) {
String imei = subscriberInfo1.get("imei").asText();
((ObjectNode)subscriberInfo1).put("imei", "12345");
((ObjectNode)parentObj).put("subscriberInfo", subscriberInfo1);

ObjectWriter writer = mapper.writer();
String result = writer.writeValueAsString(parentObj);
System.out.println("parent Object "+result);
}

}catch (Throwable t){
t.printStackTrace();
}
< /code>
Вот ответ json < /p>
JsonNode apiResult =
{
"ctnInfo": {
"device": {
"devideDetails": {
"imei": "1234567891011",
"type": "imei"
}
}
},
"subscriberInfo": {
"subscriberInfo": {
"imei": "1234567891011"
}
}
}
< /code>
ожидаемый ответ < /p>
JsonNode apiResult =

{
"ctnInfo": {
"device": {
"devideDetails": {
"imei": "ABC",
"type": "imei"
}
}
},
"subscriberInfo": {
"subscriberInfo": {
"imei": "ABC"
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... se-in-java

Вернуться в «JAVA»