【发布时间】:2017-02-14 20:26:55
【问题描述】:
我在两个应用程序之间发送数据时遇到问题。我使用以下代码在 C# 中将数据序列化为 JSON:
public static string SerializeToJson<T>(this T obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, obj);
byte[] array = ms.ToArray();
return Encoding.UTF8.GetString(array, 0, array.Length);
}
然后我使用套接字通信将其发送到我在 TypeScript 中实现的第二个应用程序。我使用反序列化它:
JSON.parse
函数,它工作正常,但如果数据中是特殊字符,例如 8211 '-' 它会抛出异常
SyntaxError: Unexpected token in JSON at position 907
可能是序列化和反序列化编码不同的问题,但我不知道 JSON.parse 中使用了哪种编码。
谁能帮帮我?
【问题讨论】:
-
你能提供json导致错误的例子吗?
标签: javascript c# json serialization typescript