3

我有一个 WCF 服务返回一个序列化的对象,我使用它来解析客户端$.parseJSON()

99% 的时间都很好用。不幸的是,它偶尔会序列化无效字符(例如:“

”)并导致解析器崩溃。

到目前为止,这些字符几乎是我遇到的唯一给我带来问题的字符,而且我确实找到了一种方法来对该字符串进行编码以删除它.. 但它看起来很草率:

Encoding iso = Encoding.GetEncoding("ISO-8859-1");
Encoding utf8 = Encoding.UTF8;
byte[] utfBytes = utf8.GetBytes(myString);
byte[] isoBytes = Encoding.Convert(utf8, iso, utfBytes);
var sResult = iso.GetString(isoBytes);

在这些字符出现之前有效的一种方法(在此之前我遇到了其他无效字符的一些问题)是先$.stringify()得到结果,然后再解析它。但似乎它不处理这种情况。

无需更改每个对象在应用程序范围内的序列化方式,是否有更好的方法仅在一个属性上执行此操作?

4

0 回答 0