将JSON转换为对象/词典/动态

时间:2010-05-20 06:37:02

标签: c# json

我目前正在使用jqGrid来显示数据。 jqGrid界面的一部分将为您提供搜索选项,在JSON字符串中回发搜索详细信息,例如:

{"groupOp":"AND","rules":[{"field":"PersonID","op":"eq","data":"123"},{"field":"LastName","op":"eq","data":"Smith"}]}

(意思是我正在搜索personID = 123,而LastName ='Smith')

所以我希望以某种方式将转换回转换成我可以使用服务器端的东西。

有没有人有这方面的解决方案可能会将其转换回某种对象?我目前的解决方案是转换为xml,使用linq解析并使用'rules'集合创建我自己的'search'类的实例。

2 个答案:

答案 0 :(得分:2)

Json.NET是一个非常丰富的.NET JSON解析器(我知道,Captain Obvious呵呵......)

据我所知,使用内置的JsonDataContractSerializer不会做你想要的,因为它需要一个提供数据契约的已知类型。如果没有现有的反序列化类型,它就不能只生成动态对象。

答案 1 :(得分:2)

您可以使用JavaScriptSerializer在json和Search类之间序列化/反序列化。