gpt4 book ai didi

c# - Json.net反序列化错误(JSONReaderException)

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:28 26 4
gpt4 key购买 nike

主程序中的代码

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

Controller 的 modelToFile:

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

Controller 的 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);
}

Controller 的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com