当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在C#中使用Newtonsoft反序列化》经验,为你挑选了1个好方法。

我试图在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(json);

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

谁能帮帮我吗。



1> Mohit Shriva..:

它应该是

JsonConvert.DeserializeObject>(jsonstr);

代替

JsonConvert.DeserializeObject(json);

因为您要以[是,否]数组形式获取JSON

然后您将获得如下数据

var a = items[0].Yes;

编辑

完整的代码可能如下所示

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

这个班级看起来像这样

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

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

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有