在 xamarin 中实现 json

implement json in xamarin

"Cannot deserialize the current JSON object (e.g. {\"name\":\"value\"}) 到类型 'System.Collections.Generic.List`1[Service.View.Login+Success]' 因为该类型需要一个 JSON 数组(例如 [1,2,3])正确反序列化。\n要修复此错误,请将 JSON 更改为 JSON 数组(例如 [1,2,3])或更改反序列化类型,使其成为普通的 .NET 类型 (例如,不是像整数这样的原始类型,也不是像数组或列表这样的集合类型)可以从 JSON 对象反序列化。也可以将 JsonObjectAttribute 添加到类型以强制它从 JSON 对象。\n路径 'success',第 1 行,位置 11。“

        try
        {
            using (var cl = new HttpClient())
            {
                var formcontent = new FormUrlEncodedContent(new[]
                    {
                    new KeyValuePair<string,string>("email", email.Text),
                    new KeyValuePair<string, string>("password",passwors.Text)
                });


                var request = await cl.PostAsync("http://192.168.1.122/api/login/user", formcontent);

                request.EnsureSuccessStatusCode();

                var response = await request.Content.ReadAsStringAsync();

                var myData = JsonConvert.DeserializeObject<Success>(response);

            }
        }
        catch (Exception ex)
        {
            await DisplayAlert("Error", ex.Message, "Close");
        }

我认为问题出在你的模型上(你应该post)。您似乎试图在一个数组(或列表...)对象内反序列化一个对象(不是数组)。

检查您从 URL 得到的响应并更正您的模型。

下次您必须处理 JSON 并且想要快速生成 C# 模型时,请使用 https://app.quicktype.io.

等服务