JavaScriptSerializer 向 属性 添加问号

JavaScriptSerializer Adding a Question Mark to a Property

我 运行 遇到了一个奇怪的问题,环顾四周,我似乎找不到对正在发生的事情的任何解释。

我正尝试在 C# 中将一些数据序列化为 JSON,如下所示:

var transactionJson = new JavaScriptSerializer().Serialize(remoteData);

大多数情况下这是可行的,但偶尔会在生成的 JSON.

中插入一个问号字符

这里是生成的相应 JSON(注意前导“?”添加到 ProvinceCode 值中):

"Addresses": [{
  "City": "Edmonton",
  "Confidential": null,
  "Country": null,
  "CountryCode": "CA",
  "Line1": "123 Test Dr.",
  "Line2": null,
  "Line3": null,
  "Line4": null,
  "PostalCode": "T5K1P4",
  "Province": null,
  "ProvinceCode": "?ALBERTA",
  "Type": null,
  "TypeCode": "H"
}],

有谁知道为什么要将这个额外的字符注入到值中?查看原始数据,我没有在该字段中看到任何特殊字符,如果我在调试模式下手动重新输入值,一切正常。

我查看了 char 数组,该字符串中似乎有一个 Byte Order Mark 字符。

该字符被序列化为“?”。

感谢@poke 提供的故障排除建议。