Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6301
Последний выпуск: 19.06.2015

Как найти недостающий элемент (Json.Net)?

85K
30 марта 2013 года
ArtemKrass
2 / / 21.12.2012
Имеются два Массива Json:

 
Код:
string str1 = "[{\"id\": 81453}, {\"id\": 55254},{\"id\": 64615}, {\"id\": 4578}, {\"id\": 5555}]";
JArray json1 = JArray.Parse(str1);
 
string str2 = "[{\"id\": 81453}, {\"id\": 55254},{\"id\": 64615}]";
JArray json2 = JArray.Parse(str2);
Мне нужно сравнить их, и в случае если в json2 отсутствует элемент(ы) который есть в json1 ({\"id\": 4578}, {\"id\": 5555}), добавить его в json2.

Возможно ли такое выполнить простым циклом, без Linq?
85K
01 апреля 2013 года
ArtemKrass
2 / / 21.12.2012
Вот решение:


 
Код:
json1.Where(j1 => !json2.Any(j2 => (int) j1["id"] == (int) j2["id"])).ToList().ForEach(_=>Console.WriteLine("нет элемента " + _["id"]));

Как это же сделать через обычный цикл? Возможно ли?
413
01 апреля 2013 года
CassandraDied
763 / / 24.05.2012
Да, но зачем?
Можно попробовать так:

Код:
foreach (JToken elem1 in json1){
    foreach (JToken elem2 in json2){
        bool exist = false;
        if ((string)elem1["id"] == (string)elem2["id"]){
            exist = true;
            break;
        }
        if (!exist)
            json2.Add(elem1);
    }
}
Если не заработает, пробегись по этим ссылкам: 1,2, 3, 4.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог