c#中的Json对象反序列化

本文关键字:反序列化 对象 Json 中的 | 更新日期: 2023-09-27 18:18:01

我正在尝试对来自客户端的对象进行反序列化,格式如下:

{'goalplans':
   [{"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0},
    {"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0},
    {"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0},
    {"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0},
    {"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0},
    {"goalPlan":0,"accountId":11,"objectiveId":17,"activity":35,"acctOwner":0,"planDay":"1/30/2013","spend_budget":12,"sortBy":0,"activityFlag":0}
]}

问题是我无法在我的服务器端对它进行反序列化。

请告诉我如何将Json对象反序列化为列表对象列表。我试了很多方法,但都不起作用。

c#中的Json对象反序列化

在JSON中序列化/反序列化对象

using System.Web.Script.Serialization;
var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<dynamic>(jsonText);

查看更多细节

希望能有所帮助

一个可能的第三方组件是JSON.NET。就我个人而言,我对这个库有很好的体验(例如,它可以使用nuget)

我自己解决了这个问题。简单地将[Serializable]添加到我的类中并且改变了方法来接受类类型的参数…例如

//My class
[Serializable]
public class GoalPlanList{}
//method
public static int GoalplanAddUPD(List<GoalPlanList> goalplans)
{
    foreach (GoalPlanList goals in goalplans)
    {}
}