我举了一个例子:
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链接中的Test对象导入TestList? 它与阅读XML是一样的吗?
答案 0 :(得分:2)
解析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;
}
答案 1 :(得分:2)
将这些步骤半自动化的快速简便方法是:
现在使用以下代码:
WebClient client = new WebClient();
string myJSON = client.DownloadString("https://URL_FOR_JSON.com/JSON_STUFF");
var myClass = Newtonsoft.Json.JsonConvert.DeserializeObject(myJSON);