我是API和JSON的新手,所以请耐心等待......
我想从上一个fm的API中获取有关相册的信息,我可以使用所有内容来处理图像,因为似乎存在命名问题。
api的部分:
"image": [{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/34s\/88057565.png",
"size": "small"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/64s\/88057565.png",
"size": "medium"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/174s\/88057565.png",
"size": "large"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/300x300\/88057565.png",
"size": "extralarge"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/_\/88057565\/Believe.png",
"size": "mega"
}],
通过JSON2CSharp运行JSON后,我得到:
public class Image
{
public string __invalid_name__#text { get; set; }
public string size { get; set; }
}
显然这不好,所以有人能指出我正确的方向来解决我的问题吗? 是否可以重命名它们?
非常感谢任何帮助,谢谢:)
答案 0 :(得分:1)
我使用Json.NET来解析他们的API响应,并使用JsonProperty属性将#text映射到有效的属性名称,如下所示:
public class ArtistImage
{
[JsonProperty("size")]
public string Size { get; set; }
[JsonProperty("#text")]
public string Uri { get; set; }
}
如果您需要,我的代码在CodePlex上:https://concertfinder.codeplex.com/ 但基本上,一旦定义了类,只需使用JsonSerializer进行反序列化(jsonData)。