JSON 属性到数组 C#

The*_*der 4 c# json json.net

"inputs": {
    "input1": {
        "value": "abc"
    },
    "input2": {
        "value": "cde"
    },
    "input3": {
        "value": "efg"
    },
    "input4": {
        "value": "ghi"
    },      
}
Run Code Online (Sandbox Code Playgroud)

这里“输入”中的属性数量可能会有所不同。我怎样才能将其反序列化到类中:

class Inputs
{
    public Input[] Values{get; set;}
}

class Input
{
    public string input {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

一种选择是将 json“输入”更改为数组,但我现在没有这种选择

Has*_*ngü 5

您的数据符合以下数据结构。

public class Data
{
    public Dictionary<string, Dictionary<string, string>> Inputs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

由于您没有提到使用任何库来反/序列化 JSON 对象,我建议非常著名的NewtonSoft库用于 .Net 框架。

在这种情况下,您可以使用以下代码片段简单地反序列化您的数据。

var data = JsonConvert.DeserializeObject<Data>(YOUR_JSON_STRING);
Run Code Online (Sandbox Code Playgroud)