使用 xamarin android 解析 json
Posted
技术标签:
【中文标题】使用 xamarin android 解析 json【英文标题】:json parsing with xamarin android 【发布时间】:2013-04-19 05:56:49 【问题描述】:我在我的 android xamarin 应用程序中编写了一个解析 json 字符串的代码。
var request = HttpWebRequest.Create(myUrl);
request.ContentType = "application/json";
request.Method = "GET";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
if (response.StatusCode != HttpStatusCode.OK)
Console.Out.WriteLine("Error fetching data. Server returned status code: 0", response.StatusCode);
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
string content = reader.ReadToEnd();
if (string.IsNullOrWhiteSpace(content))
Console.Out.WriteLine("Response contained empty body...");
else
List<BillsTableFields> billList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<BillsTableFields>>(content);
//return block
但它会引发构建错误。任何帮助将不胜感激,因为我是 xamarin 的新手,在其他任何地方都找不到任何支持。 我得到的构建错误如下所示
C:\Program Files\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(5,5):错误 MSB4018:“LinkAssemblies”任务意外失败。
Mono.Cecil.ResolutionException:无法解析 System.Diagnostics.TraceLevel
在 Mono.Linker.Steps.MarkStep.MarkType(TypeReference 参考)
在 Mono.Linker.Steps.MarkStep.MarkField(FieldReference 参考)
在 Mono.Linker.Steps.MarkStep.InitializeFields(TypeDefinition 类型)
在 Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition 类型)
在 Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition 程序集)
在 Mono.Linker.Steps.MarkStep.Initialize()
在 Mono.Linker.Steps.MarkStep.Process(LinkContext 上下文)
在 Mono.Linker.Pipeline.Process(LinkContext 上下文)
在 MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
在 Xamarin.Android.Tasks.LinkAssemblies.Execute()
在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
在 Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext() (MSB4018) (LoginApptest)
【问题讨论】:
【参考方案1】:如果链接器失败并显示“找不到类型 blah blah”,这通常意味着您在应用程序的某处使用了桌面 .Net 库。如果是 JSON.Net,去掉桌面程序集,使用组件存储上的 JSON.Net 版本(这是 Xamarin 的 NuGet 版本,除了有些东西是付费的)。
我还会确保您拥有最新版本的 Xamarin.Android。
【讨论】:
感谢@jonathan..!!!我删除了桌面版本,现在它与我从 components.xamarin.com/gettingstarted/json.net 获得的程序集工作正常@以上是关于使用 xamarin android 解析 json的主要内容,如果未能解决你的问题,请参考以下文章
发生一个或多个错误。 (无法解析 TLS 数据包头)C# Xamarin Android Project Visual Studio
C#使用Xamarin开发Android应用程序 -- 系列文章