Visualizzazione dei risultati da 1 a 8 su 8

Discussione: JSon

  1. #1
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    JSon

    Ciao a tutti, devo tornare tramite JavaScriptSerializer questo tipo di dato:

    data: [
    ['Shanghai', 23.7],
    ['Lagos', 16.1],
    ['Istanbul', 14.2],
    ['Karachi', 14.0]
    ]

    ovvero quello dopo data:
    Come faccio a tornare un struttura simile?

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    come si evolve l'italiano! confesso di non avere capito niente neanche col latino ho faticato tanto
    Pietro

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    come si evolve l'italiano! confesso di non avere capito niente neanche col latino ho faticato tanto

    è vero mi sono spiegato male.

    Allora io tramite una void torno un campo string che poi vado a parsare con JSON.Parse() lato cliente.
    Il risultato deve essere questo:

    codice:
    [ { "name":"Piemonte", "id":"Piemonte", "data":"[ ['Torino',19.78], ['Cuneo',0.22] ]" }, { "name":"Lombardia", "id":"Lombardia", "data":"[ ['Como',0.02], ['Milano',19.98] ]" }, { "name":"Campania", "id":"Campania", "data":" [ ['Caserta',0.71], ['Benevento',0.18], ['Napoli',48.52], ['Avellino',0.17], ['Salerno',0.42] ]" } ]
    Ora per i campi name ed id non ho problemi ma per data non riesco a capire che tipo c# devo restituire. SOno stato più chiaro?

  4. #4

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    Quote Originariamente inviata da mexican Visualizza il messaggio
    Sono stato più chiaro?
    No...

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Quote Originariamente inviata da djciko Visualizza il messaggio
    No...
    pensandoci bene però, l'uso di "tornare" qui esposto, nel significato di "restituire", si trova pure in Dante, Ariosto, Petrarca, Boccaccio e in molte lingue regionali italiane ; mentre "una void" ancora non capisco che caspita sia.
    Comunque, se mi serve una stringa json, io la compongo "a mano" con una mia semplice funzione. Alla fin fine è sempre una stringa e non vedo la difficoltà nella sua costruzione.
    Pietro

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    voglio ottenere questo lato client:

    var o = {data: [ ['Shanghai', 23.7], ['Lagos', 16.1], ['Istanbul', 14.2], ['Karachi', 14.0] ]};


    allora, lato server creo la classe privata
    codice:
        Private Class Rootobject
            Public Property data As Object()()
        End Class
    ho provato in due modi diversi. Creo due property protected
    codice:
        Protected Property jsonString As String
    
        Protected Property jstSerializer As String
    creo un'istanza della classe
    codice:
    Dim r As New Rootobject()
    
    r.data = New Object(3)() {}
    
    r.data(0) = New Object(1) {} : r.data(0)(0) = "Shanghai" : r.data(0)(1) = 23.7
    r.data(1) = New Object(1) {} : r.data(1)(0) = "Lagos" : r.data(1)(1) = 16.1
    r.data(2) = New Object(1) {} : r.data(2)(0) = "Istanbul" : r.data(2)(1) = 14.2
    r.data(3) = New Object(1) {} : r.data(3)(0) = "Karachi" : r.data(3)(1) = 14.0
    popolo quindi le due property
    codice:
    jsonString = JsonConvert.SerializeObject(r).Replace("""", "\""")
    
    Dim j As New JavaScriptSerializer()
    jstSerializer = j.Serialize(r).Replace("""", "\""")

    lato client ho due stringhe che trasformo in oggetti

    codice:
    var t = "<%=jsonString %>";
    var t1 = "<%=jstSerializer %>";
    
    var o = JSON.parse(t);
    var o1 = JSON.parse(t1);
    collaudo
    codice:
    alert(o.data[1][1]);
    alert(o1["data"][1][1]);

    si capisce? era questo che si voleva?
    Pietro

  8. #8
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    voglio ottenere questo lato client:

    var o = {data: [ ['Shanghai', 23.7], ['Lagos', 16.1], ['Istanbul', 14.2], ['Karachi', 14.0] ]};


    allora, lato server creo la classe privata
    codice:
        Private Class Rootobject
            Public Property data As Object()()
        End Class
    ho provato in due modi diversi. Creo due property protected
    codice:
        Protected Property jsonString As String
    
        Protected Property jstSerializer As String
    creo un'istanza della classe
    codice:
    Dim r As New Rootobject()
    
    r.data = New Object(3)() {}
    
    r.data(0) = New Object(1) {} : r.data(0)(0) = "Shanghai" : r.data(0)(1) = 23.7
    r.data(1) = New Object(1) {} : r.data(1)(0) = "Lagos" : r.data(1)(1) = 16.1
    r.data(2) = New Object(1) {} : r.data(2)(0) = "Istanbul" : r.data(2)(1) = 14.2
    r.data(3) = New Object(1) {} : r.data(3)(0) = "Karachi" : r.data(3)(1) = 14.0
    popolo quindi le due property
    codice:
    jsonString = JsonConvert.SerializeObject(r).Replace("""", "\""")
    
    Dim j As New JavaScriptSerializer()
    jstSerializer = j.Serialize(r).Replace("""", "\""")

    lato client ho due stringhe che trasformo in oggetti

    codice:
    var t = "<%=jsonString %>";
    var t1 = "<%=jstSerializer %>";
    
    var o = JSON.parse(t);
    var o1 = JSON.parse(t1);
    collaudo
    codice:
    alert(o.data[1][1]);
    alert(o1["data"][1][1]);

    si capisce? era questo che si voleva?
    si
    grazie :-)

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.