我遇到奇怪的問題.Bellow你可以看到我的測試代碼DataContractJsonSerializer對待某些值不正確
[DataContract]
public class Test
{
[DataMember]
public string Name { get; set; }
}
private static void Main(string[] args)
{
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("{ \"Name\" : Isometext }"));
var s = new DataContractJsonSerializer(typeof(Test));
var r = (Test)s.ReadObject(ms);
Console.WriteLine(r.Name);
}
名= Isometext - OK
名= Tsometext -Exception
名= Nsometext - 確定
name = sometext - 異常
名= nsometext - 異常
爲什麼DataContractJsonSerializer對待與資本我和ñ爲正確的值開始值?它是錯誤嗎?
看起來像一個無效的json字符串。你是否嘗試用''{{「Name \」:\「sometext \」}「'''雙引號來包裝** sometext **字符串' – bkdev
是否必須使用DataContractJsonSerializer?我知道這個問題與你所問的問題無關。但是我仍然很好奇你爲什麼使用DataContractJsonSerializer,當Newtonsoft.Json可以爲你提供更好的性能。 –
只能使用'UTF8'。 –