好的,所以当我尝试运行我的应用程序时遇到这个问题:
Invalid JSON primitive: .
public static void ReloadConfig()
{
if (!File.Exists("config.cfg"))
{
StringBuilder sb = new StringBuilder();
sb.Append("{\r\n");
sb.Append("\"Admins\":[76561198214617172],\r\n");
sb.Append("\"Chatty\":false,\r\n");
sb.Append("}");
File.WriteAllText("config.cfg", sb.ToString());
}
try
{
JavaScriptSerializer jss = new JavaScriptSerializer();
config = jss.Deserialize<Roles>(File.ReadAllText("config.cfg"));
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
ReloadConfig();
}
}
这是生成配置时的样子:
{
"Admins":[76561198214617172],
"Chatty":false,
}
根据我的错误消息,我假设它说我的配置中有一个空间,但我没有。
如果这很重要,我会使用 System.Web.Script.Serialization
。
最佳答案
在 false
之后的输出中有一个错误的逗号:
{
"Admins":[76561198214617172],
"Chatty":false,
}
应该是:
{
"Admins":[76561198214617172],
"Chatty":false
}
关于c# - 反序列化时无效的 JSON 原语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943492/