gpt4 book ai didi

javascript - 从 C# 中的 Json 数组转换为 List 或 T[]

转载 作者:行者123 更新时间:2023-12-03 11:14:16 26 4
gpt4 key购买 nike

我有一个 json 数据:

"{\"list\":[{\"PlId\":1,\"PstId\":1,\"MonthlyValue\":\"00,00\"},{\"PlId\":2,\"PstId\":1,\"MonthlyValue\":\"00,00\"},{\"PlId\":3,\"PstId\":1,\"MonthlyValue\":\"00,00\"},{\"PlId\":4,\"PstId\":1,\"MonthlyValue\":\"00,00\"},{\"PlId\":5,\"PstId\":1,\"MonthlyValue\":\"00,00\"}]}"

我想将 json 数据转换为 List,但 JsonConvert.Deserialize(jsonData) 返回 null。

[Serializable]
public class DecryptedMonthlyPremiumScale
{
[DataMember]
public int PlId { get; set; }

[DataMember]
public int PstId { get; set; }

[DataMember]
public string MonthlyValue { get; set; }
}

我尝试过这个方法:How to post an array of complex objects with JSON, jQuery to ASP.NET MVC Controller?

出了什么问题?谢谢。

最佳答案

您需要创建一个包装类才能正确反序列化:

[Serializable]
public class DecryptedMonthlyPremiumScale
{
[DataMember]
public int PlId { get; set; }

[DataMember]
public int PstId { get; set; }

[DataMember]
public string MonthlyValue { get; set; }
}

public class Root
{
public IList<DecryptedMonthlyPremiumScale> list {get;set;}
}

var obj = JsonConvert<Root>(json);

另一种方法是使用 JObject 获取根元素,然后反序列化:

var parsed = JObject.Parse(json)["list"].ToObject<IList<DecryptedMonthlyPremiumScale>>();

关于javascript - 从 C# 中的 Json 数组转换为 List<T> 或 T[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419285/

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