Невозможно отобразить данные JSON (Xamarin.form) - PullRequest
0 голосов
/ 18 октября 2019

Я думаю, это потому, что мой json дает мне массив, но я не знаю, как он решился, это то, что я сделал. (Я новичок в этом)

работает в 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;
            }

        }

Это ничего мне не показывает и не дает никаких ошибок ... никакихсовет?

(я вижу json в консоли, если я использую WriteLine в "WSClient")

1 Ответ

0 голосов
/ 18 октября 2019

ваш класс должен выглядеть так (используя 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...