【发布时间】:2016-06-27 09:00:27
【问题描述】:
我遇到了一个奇怪的问题,环顾四周,我似乎找不到任何关于发生了什么的解释。
我正在尝试在 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"
}],
有谁知道为什么将额外的字符注入到值中?查看原始数据,我在该字段中看不到任何特殊字符,如果我在调试模式下手动重新输入值,一切正常。
【问题讨论】:
-
可能在字符串的开头有一个不可见的字符(对于调试器不可见但对文本编辑器可见,但字体未知,因此问号)。也许您应该使用
ToCharArray在调试器中显式检查字符串。
标签: c# json javascriptserializer