gpt4 book ai didi

c# - 如何在 C# 中使用 Newtonsoft 反序列化

转载 作者:行者123 更新时间:2023-11-30 14:48:25 26 4
gpt4 key购买 nike

我正在尝试在 C# 中反序列化我的 JSON 文件并收到以下错误: “在 Newtonsoft.Json.dll 中出现类型为‘Newtonsoft.Json.JsonSerializationException’的异常,但未在用户代码中处理”

我的 JSON 是:

    [{"Yes":"52","No":"41"}]

我的c#代码是

    public class survey
{
public string Yes { get; set; }
public string No { get; set; }
}

protected void Button1_Click(object sender, EventArgs e)
{
using (StreamReader r = new StreamReader("sample.json"))
{
string json = r.ReadToEnd();
var items = JsonConvert.DeserializeObject<survey>(json);

var a = items.Yes;
TextBox1.Text = a;
}
}

谁能帮帮我。

最佳答案

应该是

JsonConvert.DeserializeObject<List<Survey>>(jsonstr);

代替

JsonConvert.DeserializeObject<survey>(json);

因为您将 JSON 作为 [Yes,No] 的数组获取

然后你会得到这样的数据

var a = items[0].Yes;

编辑

完整的代码可能是这样的

string jsonstr = File.ReadAllText("some.txt");
var items = JsonConvert.DeserializeObject<List<Survey>>(jsonstr);
var a = items[0].Yes;

类看起来像这样

public class Survey
{
[JsonProperty("Yes")]
public string Yes { get; set; }

[JsonProperty("No")]
public string No { get; set; }
}

Screenshot for the output

关于c# - 如何在 C# 中使用 Newtonsoft 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733625/

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