Задать вопрос
@Nikolay37

Как использовать директиву Newtonsoft.Json?

using System;
using Newtonsoft.Json;

namespace Example
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                    dynamic json = JsonConvert.DeserializeObject(e.Data); // данные получаются от WS соединения
                    //Пример данных в json - data: "{"name":"Phone","id":"2532","last_id":"88883"}"
                    Console.WriteLine(json.data); // Тут отдает - "name":"Phone","id":"2532","last_id":"88883"
                    Console.WriteLine(json.data.name); // тут выдает ошибку Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: ""Newtonsoft.Json.Linq.JValue" не содержит определения для "name""
}
}
}

Каким образом справиться с этим?
  • Вопрос задан
  • 402 просмотра
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 1
@dthpth
Погромист
//Пример данных в json - data: "{"name":"Phone","id":"2532","last_id":"88883"}"


у вас в поле data строка. делайте десериализацию ещё раз, но уже для этой строки

PS
не уверен, но если вместо dynamic описать модель данных в виде класса, то возможно Json.NET можно заставить делать это автоматически (с помощью аттрибутов на поле data)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы