Bor*_*rre 0 c# json deserialization
这是我从服务器获得的JSON消息(我无法更改).可能会返回更多对象(时间/值),但在这种情况下只有一个.无论如何格式都保持不变.
{
"data": [
{
"time": "2014-12-12T13:52:43",
"value": 255.0
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将JSON反序列化为一个非常简单的C#对象.
public class Dataentry {
public float Value { get; set; }
public DateTime Time { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用Newtonsoft的JSON.Net和RestSharp库进行反序列化,但没有成功.以下代码不起作用,但我没有尝试过其他任何事情:-)我没有错误 - 只是一个具有默认初始值的空对象.
var myObject = JsonConvert.DeserializeObject<Dataentry> (jsonString);
Run Code Online (Sandbox Code Playgroud)
由于这些库在这种情况下不是非常直观或有很好的文档记录,我很遗憾.这种JSON不可能反序列化吗?我真的很想使用现成的库,所以任何帮助都会受到赞赏.
这不起作用,因为您的JSON指定了一个集合,并且您正尝试将其分解为一个对象.有很多json到c#类生成器你可以粘贴json来获得一个合适的类定义一个这样的生成器位于这里
更合适的定义是
public class Datum
{
public string time { get; set; }
public double value { get; set; }
}
public class RootObject
{
public List<Datum> data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后deseralize as
var myObject = JsonConvert.DeserializeObject<RootObject> (jsonString);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |