2011-12-15 172 views
2

IM tyring反序列化我的对象从具有以下格式客户端来:JSON对象反序列化

{'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} 
]} 

的事情是,我不是能deserialze它在我的服务器端。

请告诉我如何反序列化Json对象到列表对象,如 列表。我尝试了很多方法,但没有工作。

回答

4

序列化/反序列化对象/ JSON从存在由于.NET 3.5,试试这个

using System.Web.Script.Serialization; 

var jss = new JavaScriptSerializer(); 
var dict = jss.Deserialize<dynamic>(jsonText); 

详情请参阅here

希望这有助于

+0

在我看来就像它应该是一个词典<字符串,列表<词典<字符串,字符串>>>(也可能是最后一个字符串应该是int,我不记得,如果JavaScriptSerializer会做整型。 ) – Rawling 2011-12-15 12:52:17

+0

编辑过,它只是用于示例@Rawling,在这种情况下,我们根本不需要字典 – 2011-12-15 12:58:30

2

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

0

我自己解决了这个问题。只需将[Serializable]添加到我的课程 并更改方法以采用班级类型的参数...

//My class 
[Serializable] 
public class GoalPlanList{} 

//method 
public static int GoalplanAddUPD(List<GoalPlanList> goalplans) 
{ 
    foreach (GoalPlanList goals in goalplans) 
    {} 
}