无法显示json数据(Xamarin.form)

时间:2019-10-18 18:28:03

标签: web-services xamarin.forms

我认为这是因为json给了我一个数组,但是我不知道它是如何解决的,这就是我所做的。 (我是新来的)

在具有Web服务的Visual Studio 2019(xamarin.form)中运行,但为安全起见,该URL被隐藏了,因此请不要在意。

--- my-json ---

    {
   "cuentas":[
      {
         "cuenta":"0500",
         "usuario":41
      },
      {
         "cuenta":"0508",         
         "usuario":6
      },
      {
         "cuenta":"0522",
         "usuario":41
      },
      {
         "cuenta":"0532",
         "usuario":41
      },
      null
   ]
}

--- WSClient.cs ---

class WSClient
{
   public async Task<T> Post<T>(string url, StringContent c)
        {
            var client = new HttpClient();

            var response = await client.PostAsync(url, c);


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


            return JsonConvert.DeserializeObject<T>(json);           

        }
 }

---- Cuenta.cs ---

public class Cuenta
    {
        public string cuenta { get; set; }
        public int usuario { get; set; }
    }

------ MainPage.xaml.cs -----

private async void BtnCall_Clicked(object sender, EventArgs e)
        {
            WSClient client = new WSClient();

            string dato = "";

            StringContent content = new StringContent(dato, Encoding.UTF8, "application/json");

            var result = await client.Post<Cuenta>("http://www.***", content);

            if (result != null) {

                lblCuenta.Text = result.cuenta;
                lblUsuario.Text = result.cuenta;
            }

        }

它什么也没给我显示,也没有给我任何错误……任何建议?

(如果我在“ WSClient”中使用WriteLine,则可以在控制台中看到json)

1 个答案:

答案 0 :(得分:0)

您的类应如下所示(使用json2csharp.com)

public class Cuenta
{
    public string cuenta { get; set; }
    public int usuario { get; set; }
}

public class RootObject
{
    public List<Cuenta> cuentas { get; set; }
}

var result = await client.Post<RootObject>("http://www.***", content);