解码字符串从web到c#对象-看内容值是根据计数递增的

本文关键字:web 字符串 对象 解码 | 更新日期: 2023-09-27 18:07:05

我对内容的看法。它是自动递增。结果是静态的,但内容是动态的。

我使用硬编码数组从web捕获返回字符串。任何json解码器都可以将返回的字符串转换为c#对象

这是web返回的字符串:

{
   "result":{
      "count":"3"
   },
   "content_1":{
      "message_id":"23",
      "originator":"09973206870",
      "message":"Hello",
      "timestamp":"2016-09-14 13:59:47"
   },
   "content_2":{
      "message_id":"24",
      "originator":"09973206870",
      "message":"Test again.",
      "timestamp":"2016-09-14 14:49:14"
   },
   "content_3":{
      "message_id":"25",
      "originator":"09973206870",
      "message":"Another message",
      "timestamp":"2016-09-14 14:49:20"
   }
}

解码字符串从web到c#对象-看内容值是根据计数递增的

在站点json2csharp.com上您可以为JSON数据生成类。生成的类需要一些改进,看起来像:

public class Result
{
    public string count { get; set; }
}
public class Content
{
    public string message_id { get; set; }
    public string originator { get; set; }
    public string message { get; set; }
    public string timestamp { get; set; }
}    
public class RootObject
{
    public Result result { get; set; }
    public Content content_1 { get; set; }
    public Content content_2 { get; set; }
    public Content content_3 { get; set; }
}

和使用JSON。你可以反序列化它:

public class Program
{
    static public void Main()
    {
        string json = "{ '"result'":{ '"count'":'"3'" }, '"content_1'":{ '"message_id'":'"23'", '"originator'":'"09973206870'", '"message'":'"Hello'", '"timestamp'":'"2016-09-14 13:59:47'" }, '"content_2'":{ '"message_id'":'"24'", '"originator'":'"09973206870'", '"message'":'"Test again.'", '"timestamp'":'"2016-09-14 14:49:14'" }, '"content_3'":{ '"message_id'":'"25'", '"originator'":'"09973206870'", '"message'":'"Another message'", '"timestamp'":'"2016-09-14 14:49:20'" } }";
        RootObject ro = JsonConvert.DeserializeObject<RootObject>(json);
        Console.WriteLine(ro.content_1.message_id);
        Console.WriteLine(ro.content_2.message_id);                 
    }
}