如何用c#解析url中的Json内容?

我做了一个例子:

public class Test { [JsonProperty(PropertyName = "test1")] public String Test1 { get; set; } [JsonProperty(PropertyName = "test2")] public String Test2 { get; set; } } private string url = "http://sample.php"; private List TestList = new List(); private async Task getTestObjects() { var httpClient = new HttpClient(); var response = await httpClient.GetAsync(url); } 

如何将url链接中的Test对象导入TestList? 它与阅读XML是一样的吗?

解析json的最好方法是Json.NET

 string json = @"{ 'Name': 'Bad Boys', 'ReleaseDate': '1995-4-7T00:00:00', 'Genres': [ 'Action', 'Comedy' ] }"; Movie m = JsonConvert.DeserializeObject(json); string name = m.Name; // Bad Boys 

我尝试这个代码并工作:

 void Main() { var test = Newtonsoft.Json.JsonConvert.DeserializeObject(getTestObjects().Result).Dump(); // test.MyName; 'Bad Boys' // test.ReleaseDate; '1995-4-7T00:00:00' } public class Test { [JsonProperty("Name")] public String MyName { get; set; } public String ReleaseDate { get; set; } } private string url = "http://bitg.ir/files/json.txt"; private List TestList = new List(); private async Task getTestObjects() { var httpClient = new HttpClient(); var response = await httpClient.GetAsync(url); var result = await response.Content.ReadAsStringAsync(); return result; } 

将这些步骤半自动化的快速简便方法是:

  1. 将您要解析的JSON粘贴并粘贴到此处: http : //json2csharp.com/然后将结果复制并粘贴到visual studio中的新类(例如:MyClass)中。
  2. 将json2csharp输出中的“RootObject”重命名为“MyClass”或其他任何名称。
  3. 在visual studio中,转到Website – > Manage Packages并使用NuGet从Newtonsoft添加Json.Net。

现在使用如下代码:

 WebClient client = new WebClient(); string myJSON = client.DownloadString("https://URL_FOR_JSON.com/JSON_STUFF"); var myClass = Newtonsoft.Json.JsonConvert.DeserializeObject(myJSON);