Получить пару ключ-значение из строки JSON без использования json.net - PullRequest
0 голосов
/ 25 февраля 2019

Я хотел бы создать пару ключ-значение из строки json:

string json = "[{\"Job\": \"Step\",\"Id\": \"D:\\\\file.CATPart\",\"Source\": \"V5\"},{\"Job\": \"Step\",\"Id\": \"D:\\\\file1.CATPart\",\"Source\": \"V5\"}]";

var jsonObj = new JavaScriptSerializer().Deserialize<List<Arguments>>(json);

foreach (var obj in jsonObj)
        {
            jobtype = obj.Job;
            SelectedId = obj.Id;
            source = obj.Source;    }

В настоящее время я десериализирую список, но хочу, чтобы это была пара ключевых значений, чтобы избежать проблем с добавлением другихпараметры и т. д. Как я могу сделать это без usin json.net или каких-либо других внешних DLL?

Ответы [ 2 ]

0 голосов
/ 09 июня 2019

Плохое решение - обработать строку вручную, перебрать строки, а затем использовать string.split (':').Затем вы можете удалить все буквы и цифры с помощью регулярных выражений и вставить их в список по вашему выбору.Не забывайте обращаться с вложениями и массивами осторожно, (модульное тестирование это как сумасшедший).

Было бы ресурсоемким, но это сделает свою работу.И потратить две недели времени на разработку и тестирование.

Или вы можете скопировать код из репозиториев GitHub, у которого уже есть какое-то хорошее решение для этого.Может, декомпилировать Newtonsoft?

0 голосов
/ 25 февраля 2019

Как сказал @marsze, вы должны написать свой deserializer.Вы можете использовать List<Dictionary<string, object>> для хранения ваших параметров.

...