json удалить элементы содержащие текст

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Распарсив json получаю 100 элементов из них два содержащих определенный текст надо удалить. Можно это как-то сделать одной командой по аналогии со строками и таблицами или только циклом пройтись по каждому элементу?
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
var result = json.Where(i => i != "текст").ToList();
 
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
var result = json.Where(i => i != "текст").ToList();
спасибо за ответ. А можно как-то сделать не перегоняя в список?

-Спарсил json: project.Json.FromString(json_str);
-удалил элементы содержащие текст и дальше работаю со всеми остальными элементами json
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
del
 
Последнее редактирование:
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
Вы работаете методом ZennoPoster.
Поскольку project.Json динамический тип, то работа с linq невозможна.

В вашем случае надо делать цикл и условие:
C#:
string json = "[{\"name\":\"Борис\",\"age\":20}, {\"name\":\"Матвей\",\"age\":30}, {\"name\":\"Константин\",\"age\":40}]";
project.Json.FromString(json);

if (project.Json.Count >0 ) {
    for (int i=0; i<project.Json.Count; i++) {
        string name = project.Json[i].name;
        int age = (int)project.Json[i].age;
    
        if (name != "Борис") {
            project.SendInfoToLog(string.Format("Возраст {0} - {1}", age, name));
        }
    }
}
Прим:
Получается работаете с данными по факту, перебирая каждый элемент и дальше уже ветвление.
 
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
Вы работаете методом ZennoPoster.
Поскольку project.Json динамический тип, то работа с linq невозможна.

В вашем случае надо делать цикл и условие:
Большое спасибо за подробный ответ. Еще есть костыльный вариант из строки с json данными регуляркой удалить не нужные мне 2 элемента и потом распарсить json, проверил вроде ок работает. Как думаете какой из этих вариантов будет работать быстрее и стабильнее, в цикле перебирать 100 элементов и проверять каждый на содержание текста или регуляркой удалить элемент из строки перед тем как распарсить?
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
Большое спасибо за подробный ответ. Еще есть костыльный вариант из строки с json данными регуляркой удалить не нужные мне 2 элемента и потом распарсить json, проверил вроде ок работает. Как думаете какой из этих вариантов будет работать быстрее и стабильнее, в цикле перебирать 100 элементов и проверять каждый на содержание текста или регуляркой удалить элемент из строки перед тем как распарсить?
вполне достаточно будет сделать замену на что угодно и потом этот исходник запихнуть в project.Json, это будет быстрее.
 
  • Спасибо
Реакции: Andr123

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)