gpt4 book ai didi

c# - Xamarin PCL C# - 将字符串反序列化为 JSONObject/JSONArray

转载 作者:太空狗 更新时间:2023-10-30 01:01:50 26 4
gpt4 key购买 nike

我经常使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com