Xamarin.ios Xamarin和跨平台Web服务访问&x2B;json解析

Xamarin.ios Xamarin和跨平台Web服务访问&x2B;json解析,xamarin.ios,xamarin.android,xamarin,Xamarin.ios,Xamarin.android,Xamarin,我正在寻找一种从API检索数据(json格式)并解析它们的方法 我真的很想使用android和IOS的代码。我已经看到了一些示例,但它们并不适用于这两种平台 如果您能为我提供连接、检索和json的示例,这对我来说是最好的,因为我没有找到关于跨平台(相当简单)实现的优秀文档 欢迎评论 提前谢谢 我在monotouch解决方案中使用了Newtonsoft的json库 找到源代码 至于检索数据——这取决于您的API,我怀疑这是一个带有HTTP调用的web API?如果是这种情况,您可以对此进行进一步阐

我正在寻找一种从API检索数据(json格式)并解析它们的方法

我真的很想使用android和IOS的代码。我已经看到了一些示例,但它们并不适用于这两种平台

如果您能为我提供连接、检索和json的示例,这对我来说是最好的,因为我没有找到关于跨平台(相当简单)实现的优秀文档

欢迎评论


提前谢谢

我在monotouch解决方案中使用了Newtonsoft的json库

找到源代码

至于检索数据——这取决于您的API,我怀疑这是一个带有HTTP调用的web API?如果是这种情况,您可以对此进行进一步阐述,显然异常处理和线程处理取决于您:

 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create (url);
...
 request.BeginGetResponse ((r) =>
 {
     string res = null;
     using (StreamReader srd = new StreamReader(response.GetResponseStream())) {
         res = srd.ReadToEnd ();
     }
     T jres = Newtonsoft.Json.JsonConvert.DeserializeObject<T> (res);
 }, null);
HttpWebRequest请求=(HttpWebRequest)HttpWebRequest.Create(url);
...
request.BeginGetResponse((r)=>
{
字符串res=null;
使用(StreamReader srd=newstreamreader(response.GetResponseStream()){
res=srd.ReadToEnd();
}
T jres=Newtonsoft.Json.JsonConvert.DeserializeObject(res);
},空);

不用nuget下载Newtonsoft,你需要从这里下载它:

好的,谢谢@Sten Petrov,我会尝试一下,但我有一个“方法'BeginGetResponse'没有重载,它有1个参数”。@clement check update,添加了
,null)最后,这对Newtonsoft来说应该是+1。我也在很多PCL库中使用过它——在MonoDroid和MonoTouch@StenPetrov:好的,谢谢。反序列化行上仍有两个错误:“类型'System.Object'在未引用的程序集中定义。必须添加对程序集的引用”和“找不到类型或命名空间名称'T'。你知道如何旋转它们吗?上面的代码是一个示例,不能直接编译
T
是一种泛型类型,如果您不了解泛型,可以用泛型方法包装该代码,或者用您的特定类型替换
T
(了解它们,保存大量代码)
Systeh.Object
-尝试将“using System;”放在类的顶部是的,但它在当前时间不可用:-)感谢您的更新使用nuget软件包很好