vkvk
@vkvk

Почему при получении строкового значения из Json в C# приходит null?

Всем привет! Нужно получить данные из json в c#. Использую Newtosoft.Json, вроде сделал все правильно, но когда пытаюсь вывести в консоль полученное из json значение выводится null. Что не так?

Код:
var player = JsonConvert.DeserializeObject<User>(File.ReadAllText(StreamLink.path + @"\user.json"));

Ничего пока что с полученными данными не делал, только эта строчка и вывод в консоль
Код из User (просто класс с 3 переменными, чтобы записывать в них данные из json файла):
public string commentText { get; private set; }
    public string userName { get; private set; }
    public string userAvatar { get; private set; }

Данные из Json:
{
  "commentText": "1",
  "userName": "testPlayer",
  "userAvatar": ""
}


При этом если я получаю целочисленное значение, то оно выводится правильно и все нормально. Как я понял, почему-то именно строковые данные не могу получить, что я делаю не так?
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
vkvk
@vkvk Автор вопроса
Нашел решение, перед каждой переменной лучше записать атрибут [JsonProperty("Название переменной из которой нужно получить данные")] и тогда все правильно будет получаться. В итоге у меня получилось так:
[JsonProperty("commentText")]
    public string commentText { get; private set; }
    [JsonProperty("userName")]
    public string userName { get; private set; }
    [JsonProperty("userAvatar")]
    public string userAvatar { get; private set; }


при этом название переменной, в которую записываем данные из json можно назвать как угодно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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