我正在使用c#。
现在我正在寻找创建一个“JSONHelper”类,它将序列化和反序列化JSON字符串数据。在我目前的场景中,我从我的web服务获取格式字符串,返回JSON类型。
我的C#代码中有一个方法,它调用一个Web服务方法,该方法返回字符串JSON类型数据。见下面的例子。
string userDetails = myWebService.GetMember(username, Password, out Result);
所以userDetails值是
{"FullName":"Manoj Singh","username":"Manoj","Miles":2220,"TierStatus":"Gold","TierMiles":23230,"MilesExpiry":12223,"ExpiryDate":"31 January 2011","PersonID":232323,"AccessToken":"sfs23232s232","ActiveCardNo":"232323223"}
现在我想编写JSONHelper类,其中将有序列化和反序列化JSON字符串类型的方法,并将返回字典类型的值。
答案 0 :(得分:0)
你看过http://json.codeplex.com/吗?
我已经习惯了,发现json.net非常好。不知道你为什么要自己写。
答案 1 :(得分:-1)
您可以在System.Web.Script.Serialization命名空间中使用JavaScriptSerializer类:
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
object result = jsonSerializer.DeserializeObject(jsonString);
假设你的jsonString代表一个对象,它应该返回一个字典。但是你需要仔细检查类型,因为如果给它一个json列表,不能保证它不会返回IEnumerable。
更好的是你可以使用强类型反序列化:
如果你知道你的网络方法的返回签名,这是一个更好的解决方案。