rev*_*ter 3 c# serialization json deserialization
我将JSON API响应反序列化为一个类 - 但是代码运行后该类为空,即根本没有反序列化.
这是一个名为responsetext的JSON示例:
{"ON":{"Date":"3/16/2017 10:12:51 AM","PARAM1":"84","PARAM2":"31597.535"},"OFF":{"Date":"3/16/2017 9:05:53 AM","PARAM3":"0","PARAM4":"0"}}
Run Code Online (Sandbox Code Playgroud)
我有两节课:
public class ON
{
public Date {get; set;}
public string PARAM1 {get; set;}
public string PARAM2 {get; set;}
}
public class OFF
{
public Date {get; set;}
public string PARAM3 {get; set;}
public string PARAM4 {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我在这里反序列化:
ON class1 = JsonConvert.DeserializeObject<ON>(responsetext);
OFF class2 = JsonConvert.DeserializeObject<OFF>(responsetext);
Run Code Online (Sandbox Code Playgroud)
但课程是空的.我究竟做错了什么?
use*_*702 10
您正在尝试将相同的JSON反序列化为两个不同的类,就好像反序列化器将神奇地知道要使用哪个JSON部分.你需要一个包装类:
public class Message
{
public ON ON { get; set; }
public OFF OFF { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后像这样反序列化:
var message = JsonConvert.DeserializeObject<Message>(responsetext);
Run Code Online (Sandbox Code Playgroud)
现在您可以访问message.ON和message.OFF:
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |