Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Struttura json nidificata

    Salve
    ho la necessità di effettuare il parsing (possibilmente utilizzando jquery) di una struttura json nidificata come questa:

    codice:
    [
    {"id1":
             {"rank":0.36787944117144233,
               "tipo":"Maurolico",
               "H":"Alice",
               "K":"Alice"}},
     {"id2":
             {"rank":0.36787944117144233,
               "tipo":"Papalina",
               "H":"Alice",
               "K":"Alice"}},
     {"id3":
             {"rank":0.36787944117144233,
              "tipo":"Lacerto",
              "H":"Alice",
              "K":"Alice"}},
     {"id4":
             {"rank":0.36787944117144233,
               "tipo":"Anguilla",
               "H":"Alice",
               "K":"Alice"}}
    ...
    ...
    ]
    ho provato a cercare ma ho trovato solo esempi che si riferiscono a strutture semplici. Dovrei ciclare su tutti gli elementi e leggere gli id (id1,id2,...) e per ogni id gli altri valori (rank,tipo,...) ma nn ho idea di come fare

  2. #2
    ma la struttura è fissa? Perché secondo me c'è un livello di troppo. Se la puoi cambiare ti consiglio una delle due:

    codice:
    {
       "id1":
             {"rank":0.36787944117144233,
               "tipo":"Maurolico",
               "H":"Alice",
               "K":"Alice"},
        "id2":
             {"rank":0.36787944117144233,
               "tipo":"Papalina",
               "H":"Alice",
               "K":"Alice"},
        "id3":
             {"rank":0.36787944117144233,
              "tipo":"Lacerto",
              "H":"Alice",
              "K":"Alice"},
        "id4":
             {"rank":0.36787944117144233,
               "tipo":"Anguilla",
               "H":"Alice",
               "K":"Alice"}
    }
    Oppure:

    codice:
    [
             {
               "id" : "id1",
               "rank":0.36787944117144233,
               "tipo":"Maurolico",
               "H":"Alice",
               "K":"Alice"},
             {
               "id" : "id2",
               "rank":0.36787944117144233,
               "tipo":"Papalina",
               "H":"Alice",
               "K":"Alice"},
             {
               "id" : "id3",
               "rank":0.36787944117144233,
               "tipo":"Lacerto",
               "H":"Alice",
               "K":"Alice"},
             {
               "id" : "id3",
               "rank":0.36787944117144233,
               "tipo":"Anguilla",
               "H":"Alice",
               "K":"Alice"}
    ]
    In ogni caso, per ciclare su di una struttura di dati si fa in questo modo:

    Codice PHP:
    //Metti di avere un oggetto:
    var obj = {
       
    "key1" "Val1",
       
    "key2" "Val2",
       
    "key3" "Val3",
       
    "key4" "Val4",
       
    "key5" "Val5"
    };

    //Tu puoi ciclare per chiave valore con un for

    for(var key in obj){ //Si legge "Per ogni chiave 'key' nell'Oggetto 'obj' fai"
       
    var val obj[key];
       
    //Ora in key hai la chiave ed in val hai il valore, il ciclo analizza tutto l'oggetto
    }

    //Per un array il discorso è più semplice
    var arr = [1,2,3,4,5,6,7,8,9];

    //Sempre usando un for
    for(var 0arr.lengthi++){ //Si legge "Data una variabile 'i' uguale a 0, fintanto che 'i' è minore della lunghezza dell'array 'arr', esegui il seguente codice incrementando i di uno ad ogni ciclo
       
    var val arr[i];
       
    //Ora in val c'è il valore corrispondente all'indice i

    A questo punto prendendo in esame la tua struttura JSON:
    Codice PHP:
    var jsonObj = eval(jsonStr); //Metti che in jsonStr c'è la stringa JSON

    //Esternamente è un array quindi:
    for(var 0jsonObj.lengthi++){
       var 
    singleObj jsonObj[i];
       
    //Ora ho in singleObj l'oggetto esterno, non so a priori la chiave che avrà l'oggetto quindi
       
    for(var id in singleObj){
           var 
    obj singleObj[id];
           var 
    rank obj.rank;
           var 
    tipo obj.tipo;
           var 
    obj.H;
           var 
    obj.K;
           
    //Ora ho tutti i valori e posso agire di consequenza.
       
    }

    P.S. chiaramente se cambi la struttura del JSON devi cambiare lo script di consequenza
    I DON'T Double Click!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.