【发布时间】:2017-03-20 22:03:37
【问题描述】:
经过几个小时的研究,我找不到转换这种 JSON 的方法:
https://api.jamendo.com/v3.0/tracks/?client_id=56d30c95&format=jsonpretty&id=982090
{
"headers":{
"status":"success",
"code":0,
"error_message":"",
"warnings":"",
"results_count":1
},
"results":[
{
"id":"982090",
"name":"Seul",
"duration":297,
"artist_id":"350774",
"artist_name":"DON VALDES",
"artist_idstr":"DON_VALDES",
"album_name":"EVOLUTION",
"album_id":"115666",
"license_ccurl":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/",
"position":10,
"releasedate":"2012-11-23",
"album_image":"https:\/\/imgjam2.jamendo.com\/albums\/s115\/115666\/covers\/1.200.jpg",
"audio":"https:\/\/mp3l.jamendo.com\/?trackid=982090&format=mp31&from=app-56d30c95",
"audiodownload":"https:\/\/mp3d.jamendo.com\/download\/track\/982090\/mp32\/",
"prourl":"https:\/\/licensing.jamendo.com\/track\/982090",
"shorturl":"http:\/\/jamen.do\/t\/982090",
"shareurl":"http:\/\/www.jamendo.com\/track\/982090",
"image":"https:\/\/imgjam2.jamendo.com\/albums\/s115\/115666\/covers\/1.200.jpg"
}
]
}
这是我的方法,但我的对象“track”中的每个值都是空的,我认为这是因为它无法到达 JSON 的“结果”部分(而且我找不到如何关注这部分)或这是因为它无法到达“结果”的第一个成员([0])(而且我也无法专注于第一个元素:/):
public static TrackModel getTrackById(int id)
{
Uri uri = new Uri(String.Format("https://api.jamendo.com/v3.0/tracks/?client_id=56d30c95&format=jsonpretty&id={0}", id));
WebRequest webRequest = WebRequest.Create(uri);
WebResponse response = webRequest.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream());
String responseData = streamReader.ReadToEnd();
var track = JsonConvert.DeserializeObject<TrackModel>(responseData).;
return track;
}
希望你能帮助我,
非常感谢!
【问题讨论】:
-
并尝试 webclient.downloadstring -
请也发布您的“TrackModel”。
-
@marcelion 嗨,好的,我刚刚在答案中发布了它:)
-
@Breakermind 我正在看这篇文章,谢谢,希望对我有帮助:)