我试图反序列化一些使用JsonConver.DeserializeObject
的json。然而它不适用于我使用的api中的某些json。这里是一个不起作用的链接:https://api.pokemontcg.io/v1/cards?setCode=smpJsonConvert.DeserializeObject有时不工作
这里是一个可以工作的链接。 https://api.pokemontcg.io/v1/cards?setCode=sm2
我不确定它为什么有时有效,有时不是。来自它的数据非常相似,只是不同的卡片。 下面是代码:
public static async Task<T> GetDataAsync<T>(this HttpClient client, string address, string querystring)
where T : class
{
var uri = address;
if (!string.IsNullOrEmpty(querystring))
{
uri += querystring;
}
var httpMessage = await client.GetStringAsync(uri);
var jsonObject = JsonConvert.DeserializeObject<T>(httpMessage);
return jsonObject;
}
现在我的卡类
namespace CardAppReal.Lib.Models
{
public class Card
{
public string id { get; set; }
public string name { get; set; }
public string imageUrl { get; set; }
public string imageUrlHiRes { get; set; }
public string supertype { get; set; } // if pokemon, trainer or energy
public string setcode { get; set; }
public int number { get; set; }
public string set { get; set; }
}
}
一个根
using System.Collections.Generic;
using CardAppReal.Lib.Models;
namespace CardAppReal.Lib.Entities
{
public class RootCard
{
public List<Card> cards { get; set; }
}
}
如果妳可以帮助我我会觉得很神奇。
当它失败了,它是否会给你一个异常或错误信息? – Jason
@Jason不,它只是让我的jsonObject空着。 –
我建议你仔细比较一个工作结果和一个不工作的结果,找出差异。 – Jason