我正在尝试在 ASP.NET 服务器上转换嵌套的 JSON 对象。传入的 JSON 字符串看起来像这样 -
data: {
user_id: 1,
taskid: "1234",
list: {
"item-1": { one: 1, two: 2 },
"item-2": { one: 1, two: 2 }
//.. where number of items is unknown
}
}
我尝试使用JSON.Decode这种方式解码数据
public class Data {
public int user_id { get; set; }
public string taskid { get; set; }
public List<object> list { get; set; }
}
public class DataList {
List<Data> data { get; set; }
}
// if isPost etc..
var decodedData = JSON.Decode<DataList>(Request["data"])
但是,当我尝试迭代 decodedData 时,我收到了一个错误 -
foreach 语句无法对“ASP._Page_that_cshtml.DataList”类型的变量进行操作,因为“ASP._Page_that_cshtml.DataList”不包含“GetEnumerator”的公共定义
当我尝试以这种方式将解码数据转换为列表时 -
List<Data> decodedData = JSON.Decode<DataList>(Request["data"])
我抛出另一个错误
CS0030: 无法将类型“
ASP._Page_that_cshtml.DataList
”转换为“System.Collections.Generic.List<ASP._Page_that_cshtml.DataList>
”
您能否建议一种适当的方法将嵌套的 JSON 对象转换为 C# 对象并对其进行迭代?
PS:故意省略尾随分号