當我試圖序列化一個包含斜槓/
的字符串屬性的對象時,JSON生成的每個斜槓都會轉義兩次。帶雙轉義字符的序列化JSON
實施例:
隨機類:
public class Foo
{
[DataMember(Name = "bar"]
public string Bar { get; set; }
}
而且
Foo foo = new Foo() { Bar = " Foo/Bar" };
string json = RandomStaticClass.Serialize(foo);
的JSON將是:
{
\"bar\":\"Foo \\/ Bar\"
}
導致:
{
"bar":"Foo \/ Bar"
}
雖然,我只是想:
{
"bar":"Foo/Bar"
}
任何想法?謝謝:)
這裏是我的功能序列化對象:
public static string Serialize(object instance)
{
using (MemoryStream stream = new MemoryStream())
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(instance.GetType());
serializer.WriteObject(stream, instance);
stream.Position = 0;
using (StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
}
序列化程序執行此操作,但沒有關閉它的選項。這是有效的JSON,所以它有一個被逃脫的問題? – 2015-01-21 10:53:55
問題是斜線被轉了兩次。 – ShuuZ 2015-01-21 10:55:53