【发布时间】:2016-04-28 19:34:40
【问题描述】:
当我发送对某个 API 的请求时,他们返回给我一个很棒的 json,但问题是根据我提供的参数,对象名称总是不同的,而数据结构保持不变。所以我正在尝试使用 Newtonsoft 库将 json 转换为 C# 类。我发现做到这一点的唯一方法是使用 JsonTextReader,但我想知道是否有更简洁的方法来实现这一点,我查阅了文档,在这方面找不到任何帮助我的方法。我也尝试使用 JValue.Parse 进行动态对象映射,但由于属性名称总是不同的,它对我没有帮助。 下面是一个代码示例来说明问题:
{
"error": [],
"result": {
//This property name always changes
"changingPropertyName": [
[
"456.69900",
"0.03196000",
1461780019.8014,
]]
}
//C# mapping
public partial class Data
{
[JsonProperty("error")]
public object[] Error { get; set; }
[JsonProperty("result")]
public Result Result { get; set; }
}
public class Result
{
[JsonProperty("changingPropertyName")]
public object[][] changingPropertyName{ get; set; }
}
【问题讨论】:
-
您不能对属性执行此操作。您必须编写一个自定义转换器或类似的东西。
标签: c# json json.net deserialization