日期:2014-05-17  浏览次数:20584 次

DataContractJsonSerializer使用时报错

我添加了如下引用。。。using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
using System.IO;
using System.Text;

  public static string JsonSerializer<T>(T t){

  DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
  MemoryStream ms = new MemoryStream();
  ser.WriteObject(ms, t);
  string jsonstring = Encoding.UTF8.GetString(ms.ToArray());
  ms.Close();
  return jsonstring;
  }

  public static T JsonDeserialize<T>(string jsonString){
  DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
  MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
  T obj = (T)ser.ReadObject(ms);
  return obj;
  }




参照Json序列化网上程序时,出现下面错误。。





类型“System.Runtime.Serialization.XmlObjectSerializer”在未被引用的程序集中定义。必须添加对程序集“System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

类型“System.Xml.XmlDictionaryReader”在未被引用的程序集中定义。必须添加对程序集“System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。

类型“System.Xml.XmlDictionaryWriter”在未被引用的程序集中定义。必须添加对程序集“System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 E:\GuCang\DictionManage\DiCodeManage\DepartMange\JsonHelper.cs 18 13 DiCodeManage
 

------解决方案--------------------
增加程序集“System.Runtime.Serialization 
右键项目增加引用