转换方法:
private T JsonToObject<T>(string jsonStr)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr));
T jsonObject = (T)ser.ReadObject(ms);
ms.Close();
return jsonObject;
}
使用DataContractJsonSerializer不能将bool值正常转换,明明是false值,转换成变为了true,
求大神解决方案,不使用第三方的组件netjson是否可以处理
------解决方案--------------------
你提供的信息太少,没法分析, 我写的小测试程序没有问题:
private void Form1_Load(object sender, EventArgs e)
{
string jsonString1 = @"{""Description"":""this is a test"",""Enable"":""false"",""Title"":""test""}";
TestClass t1 = JsonToObject<TestClass>(jsonString1);
}
private T JsonToObject<T>(string jsonStr)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr));
T jsonObject = (T)ser.ReadObject(ms);
ms.Close();
return jsonObject;
}
TestClass的定义: