gpt4 book ai didi

c# - 在 C# 中解码嵌套 JSON 对象

转载 作者:行者123 更新时间:2023-11-28 13:44:23 24 4
gpt4 key购买 nike

我正在尝试转换 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"])

但是当我尝试迭代解码数据时,我收到错误 -

foreach statement cannot operate on variables of type 'ASP._Page_that_cshtml.DataList' because 'ASP._Page_that_cshtml.DataList' does not contain a public definition for 'GetEnumerator'

当我尝试以这种方式将解码的数据转换为列表时 -

List<Data> decodedData = JSON.Decode<DataList>(Request["data"])

我抛出另一个错误

CS0030: Cannot convert type 'ASP._Page_that_cshtml.DataList' to 'System.Collections.Generic.List<ASP._Page_that_cshtml.DataList>'

您能否建议一种适当的方法来将嵌套 JSON 对象转换为 C# 对象并对其进行迭代?

PS:故意省略尾部分号

最佳答案

List<Data> decodedData = JSON.Decode<DataList>(Request["data"])

应该是

var decodedData = JSON.Decode<List<Data>>(Request["data"])
var myDataList = new DataList() { data = decodedData; }

关于c# - 在 C# 中解码嵌套 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15481759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com