@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""
}
}
}

Каким образом справиться с этим?
  • Вопрос задан
  • 398 просмотров
Решения вопроса 1
@dthpth
Погромист
//Пример данных в json - data: "{"name":"Phone","id":"2532","last_id":"88883"}"


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

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

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

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