Это то, что я использую для моей службы WCF4 REST, и она отлично работает, поэтому DataContractJsonSerializer
должен работать для вас.
public static string SerializeToJSON<T>(T obj)
{
string sRet = "";
var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
using (var memStream = new System.IO.MemoryStream())
{
serializer.WriteObject(memStream, obj);
byte[] blob = memStream.ToArray();
var encoding = new System.Text.UTF7Encoding();
sRet = encoding.GetString(blob);
}
return sRet;
}