Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766

    Problema con parsing JSON (forse anche liste?)

    Ho una stringa in formato json e devo deserializzarla ma ho qualche problema

    Sono arrivata a questo punto:

    codice:
            public class Account_Cards
            {
    
                public List<Card> data { get; set; }
            }
    
            
    
            public class Card
            {
                public int availableBalance { get; set; }
                public int cardNo { get; set; }
                
            }
             protected void Page_Load(object sender, EventArgs e)
            {
               ...codice vario, richieste al server..viene valorizzata la stringa json....
    
    
              Account_Cards Acc_Cards = new JavaScriptSerializer().Deserialize<Account_Cards>(json);
                    
                   
                   Label1.Text= Acc_Cards.data[0].availableBalance.ToString();
    }
    ma nel momento in cui vorrei leggere il valore della label ottengo l'eccezione

    "Object reference not set to an instance of an object".

    IN realtà mentre scrivo credo che il mio problema abbia a che fare con le liste; ho provato (tralasciando il discorso del json) a fare direttamente la seguente assegnazione:

    codice:
    Account_Cards myCard = new Account_Cards();
    myCard.data[0].availableBalance = 250;
    myCard.data[0].cardno = 12345;
    ma nel momento dell'assegnazione ottengo comunque lo stesso errore.
    Dove sbaglio?

  2. #2
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    Il problema è proprio nella deserializzazione; ho tolto la dichiarazione di classe esterna e credo proprio che il problema stia qui

    List<Card> Acc_Cards = new JavaScriptSerializer().Deserialize<List<Card>>(jso n)

    non funziona la deserializzazione quindi?
    Ho incluso i riferimenti

    using System.Web.Script.Serialization;

    Ora cerco di recuperare i dati nell'oggetto tramite

    Label1.Text = Acc_Cards[0].availableBalance.ToString();

    e questa volta l'errore è "Index was out of range, must be non negative and less the size of the collection", quindi l'oggetto esiste ma non viene valorizzato.

    Qualcuno ha dei suggerimenti?

  3. #3
    Moderatrice di CSS L'avatar di ResianTaxidrive
    Registrato dal
    Oct 2007
    residenza
    Udine
    Messaggi
    2,766
    Niente, dopo aver martellato disperatamente, ho cambiato sistema e ho usato la dll Newtonsoft e il tutto ha funzionato tramite l'istruzione:

    Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(json);

    Non capisco perchè il Javascriptserializer non abbia funzionato.

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.