Объект доступа, возвращенный из Newtonsoft json DeserializeObject

#json #json.net

#json #json.net

Вопрос:

Это не должно быть проблемой, но я, похоже, не могу получить доступ к элементам, возвращенным из десериализатора json от Newtonsoft.

Пример json:

 {
    "ns0:Test": {
        "xmlns:ns0": "http:/someurl",
        "RecordCount": "6",
        "Record": [{
            "aaa": "1",
            "bbb": "2",

        },
        {
            "aaa": "1",
            "bbb": "2",

        }]
    }
}

var result = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(somestring);
  

Удалив json до текста записи, я могу получить доступ к данным без проблем.

т.е. результат.Количество записей

Если я оставлю json, как показано выше, может кто-нибудь просветить меня, как получить доступ к Recordcount?

Все входные данные оценены. Спасибо!

Ответ №1:

Для тех свойств JSON, которые содержат знаки препинания или пробелы (так что они не могут быть преобразованы в допустимые имена свойств C #), вы можете использовать синтаксис квадратных скобок для доступа к ним.

Попробуйте это:

 int count = result["ns0:Test"].RecordCount;
  

Комментарии:

1. Спасибо! Я потратил слишком много времени, пытаясь понять это.