如何在c#中读取json对象数据?

如何在c#中读取json对象数据?,c#,json,json.net,C#,Json,Json.net,我有json字符串 { "isSuccess": true, "responseMessage": "Voucher Code is valid!", "responseData": { "vouchername": "COMPANY", "vouchercode": "sss12", "vouchervalue": "100" } } 如何在c代码中读取这些JSON数据 创建可以反序列化json字符串的c#类。你

我有json字符串

{
    "isSuccess": true,
    "responseMessage": "Voucher Code is valid!",
    "responseData": {
        "vouchername": "COMPANY",
        "vouchercode": "sss12",
        "vouchervalue": "100"
    }
}
如何在c代码中读取这些JSON数据

  • 创建可以反序列化json字符串的c#类。你可以在json2csharp.com上完成
  • 将newtonsoft json Nuget包添加到您的解决方案中
  • 然后可以反序列化字符串,如
  • var请求令牌= JsonConvert.DeserializeObject(内容)

    在哪里,, RequestToken是您的C#类名,Content是您的json字符串


    谢谢。

    使用JsonConvert.DeserializeObject()将此字符串反序列化为类类型,然后以常规方式访问其属性

    public class Rootobject
    {
        public bool isSuccess { get; set; }
        public string responseMessage { get; set; }
        public Responsedata responseData { get; set; }
    }
    
    public class Responsedata
    {
        public string vouchername { get; set; }
        public string vouchercode { get; set; }
        public string vouchervalue { get; set; }
    }
    
    然后您可以像这样访问这些值

    var results = JsonConvert.DeserializeObject<Rootobject>(json);
    var strResponseMessage = results.responseMessage ;
    var strVoucherName = results.responseData.vouchername;
    
    var results=JsonConvert.DeserializeObject(json);
    var strResponseMessage=results.responseMessage;
    var strVoucherName=results.responseData.vouchername;
    

    dbc提供的链接非常有用。查看一下

    您可以用不同的方式反序列化json数据。可以为json值创建一个类,也可以使用字典在序列化后从中访问数据


    对于此代码,您需要将对项目的引用添加到“System.Web.Extensions.dll”


    请参阅,我在哪里可以获得JSONVERT方法??它在JsonConvert方法上显示错误。对于此代码,您需要将对项目的引用添加到“System.Web.Extensions.dll”
    using System.Web.Script.Serialization;
    var jss = new JavaScriptSerializer();
    var dict = jss.Deserialize<Dictionary<string,dynamic>>(jsonText);
    
    bool isSuccess = Convert.ToBool(dict["isSuccess"]);
    string vouchername = Convert.ToString(dict["responseData"]["vouchername"]);