解码字符串从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"
}
}
在站点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);
}
}