我是法国人,对不起,如果我的英语有时不确定...... 我在工作场所工作了6周(我在这个领域很新......)他们希望我将实际的DB(json)转移到SQL中的真实服务器,并且全部使用C#。我需要用C#读取JSON文件,将其转换为C#对象。
有一个json DB的例子:
{
"updated": "2015-05-20T13:16:00.000Z",
"title": "Chaîne Activité",
"description": "Vidéos des activités diverses du Webcenter",
"items": [
{
"id": "77B6573B-47E4-4D60-A6FC-99E81EF05404",
"uploaded": "2014-07-02T12:56:00.000Z",
"uploader": "Inconnu",
"category": "activité//Pléniére",
"title": "Teaser de la plénière 2014",
"description": "Marc Emmanuel de 'Tous Ensemble' et Axa Atout Coeur vous invite à la 3éme plénière.",
"thumbnail": "/Content/img/video/activite/teaser-pleniere-2014-.png",
"duration": 66,
"path": "Plénière-2014-teaser.mp4"
}`
还有我的班级:
public class Item
{
public string Id { get; set; }
public string UploadDate { get; set; }
public string Uploader { get; set; }
public string Category { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Thumbnail { get; set; }
public int Duration { get; set; }
public string Path { get; set; }
}
请记住,我不是专业人士,谢谢你的帮助! :)
答案 0 :(得分:1)
你应该有这样的课程:
public class Item
{
public string id { get; set; }
public string uploaded { get; set; }
public string uploader { get; set; }
public string category { get; set; }
public string title { get; set; }
public string description { get; set; }
public string thumbnail { get; set; }
public int duration { get; set; }
public string path { get; set; }
}
public class RootObject
{
public string updated { get; set; }
public string title { get; set; }
public string description { get; set; }
public List<Item> items { get; set; }
}
如您所见,属性名称与json对象中的键匹配。您可以使用Json.NET
并使用JsonProperty
属性将正确的键映射到正确的属性,如果您希望为json键设置不同的属性名称。
E.g:
public class Item
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("uploaded")]
public string Uploaded { get; set; }
[JsonProperty("uploader")]
public string Uploader { get; set; }
//Etc...
}
然后您的json字符串可以反序列化到我们的RootObject
类:
public RootObject DeserializeJson(string jsonString)
{
var myObj = JsonConvert.DeserializeObject<RootObject>(jsonString);
return myObj;
}