Visualizzazione risultati 1 fino 3 di 3

Discussione: PHP 5.3 o 5.4? json_encode

  1. #1
    Guest

    Predefinito PHP 5.3 o 5.4? json_encode

    Salve, ho un piccolo problema con la formattazione del JSON con json_encode, in pratica una stringa invece di stamparla così:
    Codice:
    {
         a: "",
         b: "",
         c: ""
    }
    la stampa così:
    Codice:
    {a: "", b: "", c: ""}
    E per questo problema (almeno credo, perché non mi sembra invalido) il c# non lo converte correttamente, però il json_encode non funziona così:
    Codice:
    json_encode($json, JSON_PRETTY_PRINT);
    ho installato la versione php5.3, è necessaria la versione 5.4?

    EDIT: ho impostato l'error_reporting ad E_ALL:
    Codice:
    Notice:  Use of undefined constant JSON_PRETTY_PRINT - assumed 'JSON_PRETTY_PRINT' in /membri/natsufire/FlogTransformer/transformer.php on line 8
    
    
    Warning:  json_encode() expects parameter 2 to be long, string given in /membri/natsufire/FlogTransformer/transformer.php on line 8
    Ultima modifica di natsufire : 30-01-2014 alle ore 18.46.00

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Su Altervista PHP 5.4 non è ancora disponibile e l'opzione che tenti di passare non funziona perché in 5.3 non esiste.

    Però i ritorni a capo non influenzano la validità del JSON visto che non fanno parte della sua grammatica. Nel JSON che riporti è però sbagliato un altro dettaglio: le chiavi non sono racchiuse tra virgolette, perché dovrebbe essere: {"a":"", "b":"", "c":""}.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Ah, grazie.

    In effetti mi sembrava abbastanza strano, non ho consultato il codice della classe che sfrutto per il parsing del JSON in c#, dato che se non sbaglio non c'è una classe nel .NET che lo permetta quindi credevo che fossero necessari i ritorni a capo.
    Si, l'ho scritto a mano per fare un esempio e mi ero dimenticato delle virgolette.

    Grazie comunque, ho risolto, era l'html che interferiva con il parsing, i tag <pre>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •