日期:2014-05-20  浏览次数:20844 次

json字符串转换成对象问题
转换方法:

 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的定义: