我正在Xamarin / Monotouch解决方案的共享库项目中创建一个通用存储库。存储库通过http连接到REST服务并接收json。我使用json.net反序列化我传入的json。我的仓库中有以下方法:
public async Task<List<T>> GetAll()
{
List<T> result = null;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(_baseApiString + _resourceName);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
var json = await response.Content.ReadAsStringAsync ();
result = JsonConvert.DeserializeObject<List<T>>(json); //this is where the trouble starts
}
}
return result;
}
当我打电话
result = JsonConvert.DeserializeObject<List<T>>(json);
我收到以下错误:
无法从程序集'mscorlib,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e'加载类型'System.EmptyArray`1 [Reflect.Business.Review]'。
我最初想使用RestSharp.Shared(它使用json.net),所以我可以使用RestSharp api。这会引发完全相同的错误。
那么,你有什么想法让json.net在xamarin共享库项目中保持良好的运行状态吗?我做错了什么?
谢谢!