как удалить дочерний объект из jsonobject в java

Я использую пакет org.json для анализа и управления jsonobject. Прилагается структура моего json-документа. Я получаю доступ к w по следующему коду:

JSONObject temp = "json document";

JSONObject w_value = temp.getJSONObject("w");

s является дочерним объектом внутри w. Внутри s есть дочерние объекты, и так далее. Мне нужна только пара ключ/значение w. Я хочу полностью избавиться от дочернего объекта s и его дочерних объектов. Любая идея, как это можно сделать? Я попробовал пакет org.json. У него нет метода для удаления дочернего объекта.


person SDevInTest    schedule 15.09.2015    source источник
comment
stackoverflow.com/questions/8740377 / - это может быть вам полезно.   -  person Prabhakaran    schedule 15.09.2015
comment
привет прабхакаран, спасибо за ответ. Я уже проверил эту ссылку. его для удаления массива с jsonobjects. У меня есть родитель json и ребенок внутри этого.   -  person SDevInTest    schedule 16.09.2015


Ответы (1)


w_value.remove("s"); это оставит вас с вашим объектом «w» и удалит объект «s» и все, что внутри.

--согласно документации Json: «Возвращает значение, с которым эта карта ранее связывала ключ, или ноль, если карта не содержала сопоставления для ключа».

Не уверен, что вам понадобится эта последняя часть, но вот. Надеюсь это поможет.

person SteveManC    schedule 16.09.2015
comment
привет стив! w_value.remove(s) принимает строковое значение ключа, которое мы хотим удалить. Я уже пробовал. Если ключ является объектом json, он вызовет исключение. - person SDevInTest; 17.09.2015
comment
ну, большая часть моего опыта связана с использованием строк исключительно с JSON. Вы можете попробовать посмотреть метод JsonObject.computeIfPresent, возможно, он сможет справиться с тем, что вы ищете. - person SteveManC; 17.09.2015