@Durov90

Как удалить строку из массива не обладая ID, JSON?

Иак, у меня есть массив структуры:

{
    "users": [
        {
            "user": "name_test",
            "user": "name_test1",
            "user": "name_test2"
        }
    ]
}

Вопрос: допустим я хочу удалить строку, которая содержит Name_test2, как мне это сделать при такой структуре?
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Итак:
приведенный в вопросе json не валидный, и работать с ним как с json нельзя.
Я предположил, что мы получаем валидный JSON вот такого вида:
{
    "users": [
      {"user": "name_test"},
      {"user": "name_test1"},
      {"user": "name_test2"}
    ]
}

тогда правильный код будет выглядеть, например, так:
import json

args = "name_test2"
with open('config.json', 'rb') as fp:
    jsondata = json.load(fp)
    jsondata['users'] = [item for item in jsondata['users'] if item['user'] != args]
    print(jsondata)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@NeW_CodeR
Аферюга
В данном случае убрать полностью " "user": "name_test2"" и после "name_test1" убрать запятую, но если бы убирать пришлось "name_test1" - достаточно было просто удалить полностью строку, и не надо ничего больше.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы