"inputs": {
"input1": {
"value": "abc"
},
"input2": {
"value": "cde"
},
"input3": {
"value": "efg"
},
"input4": {
"value": "ghi"
},
}
此处“输入”中的属性数量可能会有所不同。如何将其反序列化为类:
class Inputs
{
public Input[] Values{get; set;}
}
class Input
{
public string input {get; set;}
}
一种选择是将json“ inputs”更改为数组,但我现在没有选择
答案 0 :(得分:3)
您的数据与以下数据结构匹配。
public class Data
{
public Dictionary<string, Dictionary<string, string>> Inputs { get; set; }
}
由于您没有提到使用任何库来对JSON对象进行反序列化,所以我建议使用.Net框架的著名NewtonSoft库。
在这种情况下,您只需使用以下代码片段反序列化数据即可。
var data = JsonConvert.DeserializeObject<Data>(YOUR_JSON_STRING);
答案 1 :(得分:0)
如何安装
安装软件包Newtonsoft.Json:
在Visual Studio中,“工具”菜单->“管理Nuget软件包管理器解决方案”,然后键入“ JSON.NET”以进行在线搜索。这是数字:
然后使用您希望将其作为JSON响应获取的输入参数创建类。
public class Inputs
{
public string input1 { get; set; }
public string input2 { get; set; }
public string input3 { get; set; }
public string input4 { get; set; }
}
现在,我们将使用JsonConvert类的DeserializeObject()方法将其转换为.NET对象。这是代码:
private void JSONDeserilaize(string json)
{
var obj = JsonConvert.DeserializeObject<Inputs>(json);
}
现在您拥有一个类型为“输入已成功反序列化”的对象