主程序中的代码

controller.modelToFile("passwords/test.json");
controller.deJSONizeModel("passwords/test.json");


控制器的modelToFile:

    public void modelToFile(String filename) {
        System.IO.File.WriteAllText(filename, JSONizeModel());
    }


控制器的JSONizeModel:

    public String JSONizeModel() {
        Newtonsoft.Json.JsonSerializerSettings jss = new Newtonsoft.Json.JsonSerializerSettings();
        jss.Formatting = Newtonsoft.Json.Formatting.Indented;
        Newtonsoft.Json.Serialization.DefaultContractResolver dcr = new Newtonsoft.Json.Serialization.DefaultContractResolver();
        dcr.DefaultMembersSearchFlags |= System.Reflection.BindingFlags.NonPublic;
        jss.ContractResolver = dcr;
        return Newtonsoft.Json.JsonConvert.SerializeObject(model, jss);
    }


控制器的deJSonizeModel:

    public void deJSONizeModel(String json) {
        model = JsonConvert.DeserializeObject<Model>(json);
    }


模型:

class Model : IModel    {
    private IList<Password> passwords = new List<Password>();

<...>


文件test.json:

{
  "passwords": [
    {
      "description": "example password 1",
      "password": "p1"
    },
    {
      "description": "example password 2",
      "password": "p2"
    },
    {
      "description": "This is the password",
      "password": "the password"
    }
  ]
}


密码等级:

    public String description { get; set; }
    public String password { get; set; }

    public Password(String description, String password)  {
        this.description = description;
        this.password = password;
    }


请帮忙。例外是Newtonsoft.Json.JSONReaderException。

程序日志:

A first chance exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
A first chance exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
An unhandled exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
Additional information: Error parsing boolean value. Path '', line 0, position 0.

最佳答案

解决了! deJSONizeModel的参数是FILE,但需要JSON!

关于c# - Json.net反序列化错误(JSONReaderException),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24389648/

10-10 07:13