超难 json转C#对象. 分全给了~!!!
s = "{term:'111204'}"怎么将这个转成C#对象???别认为很简单,可以很容易的将s = "{\"term\":\"111204\"}"转成对象,但前者转不知道怎么转。 但他又确实是JSON对象,我无法修改前面那种写发,也不能用字符串替换,因为这只是整个JSON中的一部分,下面是代码:
using System;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Text;
public sealed class JSONHelper
{
private static JSONHelper inst = new JSONHelper();
private JSONHelper()
{
}
public static JSONHelper Inst
{
get
{
lock (inst)
{
return inst;
}
}
}
public T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
obj = (T) serializer.ReadObject(ms);
ms.Close();
ms.Dispose();
return obj;
}
}
[DataContract]
public class Teams
{
//public HistoryTerms HistoryTerms { get; set; }
[DataMember(Name = "term")]
public string term { get; set; }
public Teams()
{
}
}
Teams teams = JSONHelper.Inst.Deserialize<Teams>(s);