C# json反序列化和字段提取?
下面是我从REST得到的回应C# json反序列化和字段提取?,c#,asp.net,json,deserialization,C#,Asp.net,Json,Deserialization,下面是我从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_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#中单独提取这两个字段呢
提前感谢。您可以使用
System.Web.Script.Serialization.JavaScriptSerializer
或创建以下类:
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);
请注意,您也可以从json类型中重命名C#中的字段,如下所示:
[JsonProperty("english_category_name")]
public string EnglishCategoryName { get; set; }
,C#中的实体应仅包含这两个属性。@user2037787您想在C#或jquery中使用这些属性吗?@ChiragVidani我随时可以使用任何东西。。Jquery对我来说也很好。你能再简要说明一下你的问题吗?我认为第二条注释包含answer.var category=categories.FirstOrDefault();string categoryDisplayName=category.display\u category\u name;不起作用吗??任何其他方法对不起,它应该是string categoryDisplayName=category.english\u category\u name;我已经更新了答案。var category=categories.FirstOrDefault()显示错误。。必须包含任何dll
[JsonProperty("english_category_name")]
public string EnglishCategoryName { get; set; }