C# JSON反序列化
这是我的JSONC# JSON反序列化,c#,json,C#,Json,这是我的JSON [{"id":23,"name":"Video Clips"},{"id":15,"name":"Deleted Scenes"},{"id":9,"name":"Music Albums"},{"id":7,"name":"Trailers"},{"id":18,"name":"Short Films"},{"id":21,"name":"Movie Clips"},{"id":1,"name":"Movies "},{"id":4,"name":"Plays"},{"id
[{"id":23,"name":"Video Clips"},{"id":15,"name":"Deleted Scenes"},{"id":9,"name":"Music Albums"},{"id":7,"name":"Trailers"},{"id":18,"name":"Short Films"},{"id":21,"name":"Movie Clips"},{"id":1,"name":"Movies "},{"id":4,"name":"Plays"},{"id":22,"name":"Scenes"},{"id":2,"name":"TV Show"},{"id":5,"name":"Kids"},{"id":16,"name":"Interviews"},{"id":11,"name":"Film Songs"},{"id":14,"name":"Making of Movie"}]
我必须反序列化它我该怎么做?请提供帮助您可以使用System.Web.Extensions dll中的JavaScriptSerializer反序列化json,该dll可在以下位置找到: C:\ProgramFiles\Reference 程序集\Microsoft\Framework.NETFramework\v4.0\System.Web.Extensions.dll 在项目中添加对DLL的引用后,添加:
using System.Web.Script.Serialization;
您还需要将目标框架设置为非客户端配置文件,例如:
.NET框架4
然后使用如下代码对json进行反序列化:
var json = @"[{""id"":23,""name"":""Video Clips""},{""id"":15,""name"":""Deleted Scenes""},{""id"":9,""name"":""Music Albums""},{""id"":7,""name"":""Trailers""},{""id"":18,""name"":""Short Films""},{""id"":21,""name"":""Movie Clips""},{""id"":1,""name"":""Movies ""},{""id"":4,""name"":""Plays""},{""id"":22,""name"":""Scenes""},{""id"":2,""name"":""TV Show""},{""id"":5,""name"":""Kids""},{""id"":16,""name"":""Interviews""},{""id"":11,""name"":""Film Songs""},{""id"":14,""name"":""Making of Movie""}]";
var jsonSerializer = new JavaScriptSerializer();
var deserializedList = jsonSerializer.Deserialize<List<JsonType>>(json);
var json=@“{”“id”“:23”,“name”“:”“Video Clips”“},{”“id”“:15”,“name”“:”“Deleted Scenes”“},{”“id”“:9”,“name”“:”“Music Albums”“},{”“id”“:7”,“name”“:”“trailes”“,{”“id”“:18”“name”“:”“name”“:”“短片”“,{”“id”“:21”“name”“:”“电影片段”“},{”“id”“:1”“name”“:”“Movies”“,{”“id”“,{”“id”“:4”“name”“:”“name”“:”“Plays”“,”“Plays”“,{”“id”“:22”“,”“Scenes”“,”“姓名:”“电视节目”“},{”“id”“:5”“姓名”“:”“孩子”“},{”“id”“:16”“姓名”“:”“采访”“},{”“id”“:11”“姓名”“:”“电影歌曲”“},{”“id”“:14”“姓名”“:”“电影制作”“}”;
var jsonSerializer=新的JavaScriptSerializer();
var deserializedList=jsonSerializer.Deserialize(json);
这里的JSON表示一个类似视频的对象数组,因此首先需要定义一个类来存储每个视频,如下所示:
public class Video
{
public int ID { get; set; }
public string Name { get; set; }
}
完成后,您可以使用内置或第三方的众多JSON库中的一个
接下来,您需要像这样使用JsonConvert类的反序列化对象静态通用方法,指定List
类型,以便它知道要反序列化的JSON是视频对象的集合:
using Newtonsoft.Json;
...
string json = "[{\"id\":23,\"name\":\"Video Clips\"},{\"id\":15,\"name\":\"Deleted Scenes\"},{\"id\":9,\"name\":\"Music Albums\"},{\"id\":7,\"name\":\"Trailers\"},{\"id\":18,\"name\":\"Short Films\"},{\"id\":21,\"name\":\"Movie Clips\"},{\"id\":1,\"name\":\"Movies \"},{\"id\":4,\"name\":\"Plays\"},{\"id\":22,\"name\":\"Scenes\"},{\"id\":2,\"name\":\"TV Show\"},{\"id\":5,\"name\":\"Kids\"},{\"id\":16,\"name\":\"Interviews\"},{\"id\":11,\"name\":\"Film Songs\"},{\"id\":14,\"name\":\"Making of Movie\"}]";
List<Video> videos = JsonConvert.DeserializeObject<List<Video>>(json);
使用Newtonsoft.Json;
...
10月15日,10名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名名\':22,\'name\':\'Scenes\'},{\'id\':2,\'name\'电视节目:{“id\”:5,{“姓名”:“孩子们”{“id\”:16,{“姓名”:“采访”},{“id\”:11,{“姓名”:“电影歌曲”},{“id\”:14,{“姓名”:“电影制作”};
List videos=JsonConvert.DeserializeObject(json);
完成此操作后,您可以使用一组视频对象
希望这对你有所帮助。看看这个链接如何用c语言反序列化这个json[{“id”:23,“name”:“Video Clips”},{“id”:15,“name”:“Deleted Scenes”},{“id”:9,“name”:“Music Albums”},{“id”:7,“name”:“trailes”},{“id”:18,“name”:“Short Films”},{“id”:21,“name”:“Movies Clips”},{“id”:1,“name”:“Movies”},{“id”:4,“name”:“Plays”},{“id”:22,“name”:场景“},{id:2,“姓名”:“电视节目”},{id:5,“姓名”:“孩子”},{id:16,“姓名”:“采访”},{id:11,“姓名”:“电影歌曲”},{id:14,“姓名”:“电影制作”}]