我正在尝试在 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; }
}
关于c# - 如何在 C# 中使用 Newtonsoft 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733625/