如何使用 c# 从 url 解析 Json 内容

本文关键字:解析 Json 内容 url 何使用 | 更新日期: 2023-09-27 18:33:33

我举了一个小例子:

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<Test> TestList = new List<Test>();
private async Task<Test> getTestObjects()
{
    var httpClient = new HttpClient();
    var response = await httpClient.GetAsync(url);
}

如何将 url 链接中的测试对象获取到测试列表中?它与读取 XML 相同吗?

如何使用 c# 从 url 解析 Json 内容

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

  1. 获取要解析的 JSON 并将其粘贴到此处: http://json2csharp.com/然后将结果复制并粘贴到 Visual Studio 中的新类(例如:MyClass)中。
  2. 将 json2csharp 输出中的"RootObject"重命名为 "MyClass" 或任何你称之为它的名字。
  3. 在 Visual Studio 中,转到"网站"->"管理包",然后使用 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);
解析

JSON 的最佳方法是 Json.NET

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

我尝试了这段代码并工作:

void Main()
{
    var test = Newtonsoft.Json.JsonConvert.DeserializeObject<Test>(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<Test> TestList = new List<Test>();
 private async Task<String> getTestObjects()
 {
     var httpClient = new HttpClient();
     var response = await httpClient.GetAsync(url);
     var result = await response.Content.ReadAsStringAsync();
     return result;
 }