How to Serialize and Deserialize Json with a var.Text

Hello I'm doing an applicative to android using Xamarin. I wrote a code to call an API from WSO2, the answer it returns depends on the ID the user send. It returns a JSON in the Content like this:
{"consumerId":56704292158, "categoryId":1, "categoryDescription": "Pessoa", "firstName":"Ronaldo","lastName":"Scalizi Pecanha","fiscalDocuments":[{"fiscalDocument":{"documentType":"Brasil: nº CPF","cpf":18825966832}}],"gender":"M","emailAddress":"[email protected]","optIns":[{"optIn":{"brandName":"consul","acceptanceStatus":false}},{"optIn":{"brandName":"brastemp","acceptanceStatus":true}}],"communicationData":[{"communicationInfo":{"addressId":26506503,"phoneNumbers":[{"phoneNumber":{"phoneType":"mobilePhone","phoneNumber":1195099038}}],"streetAddress":"AVENIDA RANGEL PESTANA","streetNumber":674,"streetComplement":null,"streetDistrict":"JARDIM CRISTIANE","cityName":"SANTO ANDRE","stateCode":"SP","zipCode":"09185220","locationReferences":[{"locationReference":"Mercado"}],"countryCode":"BR"}},{"communicationInfo":{"addressId":2.563244E+7,"phoneNumbers":[{"phoneNumber":{"phoneType":"mobilePhone","phoneNumber":11960625256}},{"phoneNumber":{"phoneType":"homePhone","phoneNumber":1143199038}}],"streetAddress":"AVENIDA RANGEL PESTANA","streetNumber":674,"streetComplement":"CASA","streetDistrict":"JARDIM CRISTIANE","cityName":"SANTO ANDRE","stateCode":"SP","zipCode":"09185220","locationReferences":[{"locationReference":"Ao lado do deposito lua nova"}],"countryCode":"BR"}}]}

I just wanna get from this the fields firstName and lastName. I'm trying to serialize this but I think I'm doing something wrong. Here is the code

    using System;
    using Android.App;
    using Android.Widget;
    using Android.OS;
    using RestSharp;
    using Newtonsoft.Json;
using Android.Util;
using App4.Resources;
using Newtonsoft.Json.Linq;

namespace App4
{
 [Activity(Label = "App4", MainLauncher = true, Icon = "@drawable/icon")]
 public class MainActivity : Activity
{
        EditText edtcpf;
    Button btnConsumer;
    TextView txtcpf;
    RestRequest cpf { get; set; }
        public RestClient consumer { get; set; }
    IRestResponse mensagemConsumer;
    TextView txtresposta;
    RestClient orderId { get; set; }
    RestRequest requestorderId { get; set; }
    IRestResponse answer { get; set; }
    IRestResponse answerorder { get; set; }
    TextView txtnome;
    public string raika;
    private string teamname;
    private JToken primeironome;

    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);
        btnConsumer = FindViewById<Button>(Resource.Id.btnConsumer);
        edtcpf = FindViewById<EditText>(Resource.Id.edtcpf);
        txtcpf = FindViewById<TextView>(Resource.Id.txtcpf);
        txtresposta = FindViewById<TextView>(Resource.Id.txtresposta);
        txtnome = FindViewById<TextView>(Resource.Id.txtNome);
        btnConsumer.Click += BtnConsumer_Click;

     }

     private void BtnConsumer_Click(object sender, EventArgs e)
 {
    try
    {
        // API Consumer CPF

        consumer = new RestClient("https://qa.api-latam.whirlpool.com/v1.0/consumers");
        cpf = new RestRequest("/" + edtcpf.Text, Method.GET);
        cpf.AddHeader("Content-Type", "application/json; charset=utf-8");
        cpf.AddHeader("Authorization", "Bearer 70197e6c-d81b-384c-bb32-d69e8c10b101");
        mensagemConsumer = consumer.Execute(cpf);
        string nombre = Convert.ToString(mensagemConsumer.Content);
        Nome nome = new Nome();
        string json = JsonConvert.SerializeObject(mensagemConsumer.Content, Formatting.Indented);
        nome.firstName = mensagemConsumer.Content;

        Log.Info("info ",json);
        txtresposta.Text = json;

        //API Consumer Appliances
        orderId = new RestClient("https://qa.api-latam.whirlpool.com/v1.0/consumers/");
        requestorderId = new RestRequest("/"+ edtcpf.Text+ "/service-orders", Method.GET);
        requestorderId.AddHeader("Content-Type", "application/json; charset=utf-8");
        requestorderId.AddHeader("Authorization", "Bearer 70197e6c-d81b-384c-bb32-d69e8c10b101");
        answerorder = orderId.Execute(requestorderId);
        txtnome.Text = answerorder.Content;
        string respostaorder = Convert.ToString(answerorder);
        dynamic deserializado = JsonConvert.DeserializeObject(respostaorder);



    }
    catch (Exception)
    {

        throw;
    }




}

}
}

And here is the class with get and set

using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace App4.Resources
{
public class Nome
{
public string firstName { get; set;}
public string lastName { get; set; }

}
}

How can I serialize and Deserialize this with a JSON that uses a var that depends on .Text like edtcpf.Text and its Content?

Best Answer

Answers

Sign In or Register to comment.