问题描述
我正在从注册表读取所有已安装的软件。它在所有经过测试的计算机上都运行良好,但出现以下问题的计算机除外。
它正确地从注册表中读取数据并将正确的数据放入类的正确字段中。 我输入了很多 MessageBox.Show() 命令来查看返回的内容,而且看起来都是正确的。
卸载字符串 = C:\Program Files (x86)\Foxit Software\Foxit Reader\Uninstall.exe
当我将值(在 C# 中)发送消息框时,我得到了这个,但是当我将 JsonConvert.SerializeObject 转换为对象时
public int ID { get; set; }
public int AssetID { get; set; }
public string displayName { get; set; }
public string displayVersion { get; set; }
public string Publisher { get; set; }
public string RegKey { get; set; }
public string UninstallString { get; set; }
public string InstallDate { get; set; }
public bool IsActive { get; set; }
它最终看起来像这样:
{"ID":0,"AssetID":7,"displayName":"Foxit Reader\u0000\u0000\u0000\u0000\\Microso","displayVersion":"0.0.0.0","Publisher":null,"RegKey":"Foxit Reader","UninstallString":"C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\Uninstall.exe\u0000Fox-Ä~vÊ\u0000\u000f¦\u0000\u0000\u0010\u0000üú\u0018\u0000¼þ\u0018\u0000\u0010«¯v\u0001\u0000\u0000\u0000¬ž|vÎ|vÄû\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u001a\u0000\u0000","InstallDate":"Jan 1 1980","IsActive":true}
我已经把以下内容:
// Encrypt the class
var serializerSettings = new JsonSerializerSettings();
serializerSettings.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
string serializedClass = JsonConvert.SerializeObject(this,serializerSettings);
代码就位(之前它只是:
string serializedClass = JsonConvert.SerializeObject(this);
我能做些什么来摆脱所有的垃圾?当我将此传递给我的 API 以插入数据库时,我收到无效格式错误。
任何帮助将不胜感激。 提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)