json反序列化和字段提取
本文关键字:提取 字段 反序列化 json | 更新日期: 2023-09-27 18:21:53
以下是我从REST 得到的响应
{
"category_id": 1314,
"display_category_name": "",
"english_category_name": "Sports",
"url_category_name": ""
},
{
"category_id": 13,
"display_category_name": "Art",
"english_category_name": "Art",
"url_category_name": "art"
},
{
"category_id": 21,
"display_category_name": "Blogs",
"english_category_name": "Blogs",
"url_category_name": "blogs"
}
但是我只需要显示"category_id"和english_category_name
,那么我如何在c#中单独提取这两个字段呢?
提前谢谢。
创建以下类:
public class Category
{
public int category_id { get; set; }
public string english_category_name { get; set; }
}
使用以下库Newtonsoft.Json
按如下方式反序列化jsonstring:
var categories = JsonConvert.DeserializeObject<List<Category>>(json);
然后,您可以访问类别作为类别对象的列表,即
var category = categories.FirstOrDefault();
string categoryDisplayName = category.english_category_name;
请注意,您还可以从json类型中重命名C#中的字段,如下所示:
[JsonProperty("english_category_name")]
public string EnglishCategoryName { get; set; }
您可以使用System.Web.Script.Serialization.JavaScriptSerializer
或JSON.NET