【问题标题】:how parse this json data to object?如何将此 json 数据解析为对象?
【发布时间】:2014-05-19 15:32:44
【问题描述】:

我有一个简单的 json,例如:

{
"values": [
    {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    },
    {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    }
]
}

而我的对象结构是这样的:

[DataMember]
public List<KeyValues> values { get; set; }

在 KeyValues 中,我只有一个字典:

[DataMember]
public Dictionary<string, string> values { get; set; }

列表中有 2 个对象,但字典仍然是空的。

如何将数组中的对象解析到我的字典中?

提前致谢。

编辑:

  [Route("test")]
    [HttpPost]
    public HttpResponseMessage testPost([FromBody] TestObject test)
    {
    ...
    }

【问题讨论】:

标签: .net json rest


【解决方案1】:

您传入的不是字典。它是一个对象数组。我会将 Json 更改为

{
"values": [
    {
        key: "key1", value: "value1",
        key:  "key2", value:"value2",
         key: "key3", value:"value3"
    },
    {
         key: "key1", value:"value1",
         key: "key2", value:"value2",
         key: "key3", value:"value3"
    }
]
}

}

然后会映射到以下类结构:

public class Value
{
    public string key { get; set; }
    public string value { get; set; }
}

public class RootObject
{
    public List<Value> values { get; set; }
}

这可能足以让您使用。如果你真的想要一本字典,你可以考虑创建一个自定义 Json 转换器(例如继承 JsonConverter)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-18
    • 1970-01-01
    相关资源
    最近更新 更多