【问题标题】:Using JsonConvert i dont have any result使用 JsonConvert 我没有任何结果
【发布时间】:2019-10-25 15:32:48
【问题描述】:

我正在尝试将 Json 流从 API 转换为 Object,我也尝试在 List 中进行转换,但结果是一样的。

问题截图 https://prnt.sc/po3osq

这是 json [{"time":"1970-01-01T00:00:00.000Z","count":1}]

这是代码

public class Mezzo
    {
        public DateTime time { get; set; }
        public int count { get; set; }
    }

    public class GetBus
    {
        public List<Mezzo> Bus { get; set; }
    }
    public String GetListBus()
    {
        var addr = "http://192.168.43.131:3000/getBus";
        var request = (HttpWebRequest)WebRequest.Create(addr);

        request.Method = "GET";
        var content = string.Empty;
        using (var response = (HttpWebResponse)request.GetResponse())
        {
            using (var stream = response.GetResponseStream())
            {
                using (var sr = new StreamReader(stream))
                {
                    content = sr.ReadToEnd();
                    var details = JsonConvert.DeserializeObject<List<GetBus>>(content);

                    Debug.WriteLine(details);

                    return "ciao";
                }
            }
        }

    }

【问题讨论】:

  • 您的错误是什么?据我了解,您收到的详细对象为空?
  • 您的 JSON 对应于 List&lt;Mezzo&gt; 而不是 List&lt;GetBus&gt;。像这样反序列化它:JsonConvert.DeserializeObject&lt;List&lt;Mezzo&gt;&gt;(content); 请参阅:How to auto-generate a C# class file from a JSON string

标签: c# json json.net data-conversion


【解决方案1】:

已经测试过了。有用。

string json = "[{\"time\":\"1970 - 01 - 01T00: 00:00.000Z\",\"count\":1}]";
var details = JsonConvert.DeserializeObject<List<Mezzo>>(json);
Console.WriteLine(details);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多