- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我经常使用 Android,但今天我必须使用 Xamarin。我正在制作一个 PCL 类,我正在尝试从一个字符串(HttpWebResponse
转换为一个字符串)创建一个 JSON 对象,以便从 Android 包装器调用。
经过一些研究,我找不到任何能真正回答我的问题的东西。
最终我希望能够像这样调用:
string value = jsonObject.get("key").getAsString();
我从 http 响应中得到一个字符串,然后我想将它转换成一个 JSON 对象。创建 JSON 对象后,我想像示例中那样提取一个值。但是,我是在 PCL 中制作的,那么是否可以从 PCL 在 Xamarin/C# 中执行此操作?
感谢您的帮助和阅读!
最佳答案
您可以使用 Newtonsoft.Json 将字符串反序列化为对象图书馆:
Account account = JsonConvert.DeserializeObject<Account>(jsonFromServer);
您还可以使用 HttpClient
类而不是 HttpWebRequest
并自动将响应反序列化为您的对象:
var client = new HttpClient();
var response = await client.GetAsync("/accounts");
Account account = await response.Content.ReadAsAsync<Account>();
如果您的服务器在发生错误时返回不同的 StatusCode,您可以使用 HttpResponseMessage.IsSuccessStatusCode
决定将响应反序列化为哪种类型。如果没有,您可以使用 var jsonObject = JObject.Parse(jsonText);
并像这样访问属性:jsonObject["someKey"]
你需要 Microsoft.AspNet.WebApi.Client来自 Nuget 的库
关于c# - Xamarin PCL C# - 将字符串反序列化为 JSONObject/JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36605130/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!