Visualizzazione risultati 1 fino 3 di 3

Discussione: Parsing xml to json

  1. #1
    L'avatar di pxy
    pxy
    pxy non è connesso Utente
    Data registrazione
    26-12-2008
    Messaggi
    192

    Predefinito Parsing xml to json

    Buonasera!

    Ho questo file xml
    Codice PHP:
    <config>
        <
    icon>img/littleBox.png</icon>
        <
    basecolor>blue</basecolor>
        <
    buttons>
            <
    button>
                <
    icon>img/barcodeGunExit.png</icon>
                <
    action>formBarcodeExit</action>
            </
    button>
        </
    buttons>
    </
    config
    e se provo a fare così

    Codice PHP:
    <?php
    $xml 
    simplexml_load_file("conf.xml");

    $f = array();

    $f['foo'] = "img/".$xml->icon;
    $f['bar'] = $xml->basecolor;

    echo(
    json_encode($f));
    ?>
    mi viene fuori questo

    Codice PHP:
    {"foo":"img\/img\/littleBox.png","bar":{"0":"blue"}} 
    "bar" in xml viene visto come un array a cui l'indice 0 corrisponde "blue", mentre se facessi $f['bar'] = "".$xml->basecolor; (alla linea 4 del secondo blocco di codice) mi ritornerebbe senza array e direttamente il valore

    Codice PHP:
    {"a":"img\/img\/littleBox.png","b":"blue"
    Ora, la mia domanda è:
    Io vorrei avere tutti i valori diretti senza che mi ritorni un array e senza dover appiccicare una stringa a caso che è poso elegante.
    Non voglio nemmeno accedere all'indice tramite js (tipo jsonData.bar[0]), voglio il json diretto e basta, è possibile?

    Grazie! A buon rendere!
    -- The Mentor
    "You may stop this individual, but you can't stop us all... after all, we're all alike"

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,641

    Predefinito

    Puoi forzare anche la conversione in stringa come viene fatto in questo esempio: http://php.net/manual/en/simplexml.e...p#example-5619

  3. #3
    L'avatar di pxy
    pxy
    pxy non è connesso Utente
    Data registrazione
    26-12-2008
    Messaggi
    192

    Predefinito

    In effetti castando il valore il risultato ritorna! non ci avevo proprio pensato :look:
    Cmq son pigro, penso che alla fine utilizzero il DB con qualche inner invece che l'xml come file di configurazione, stare a castare ogni valore che tiro fuori mi sembra un attimo dispersivo <.<

    Grazie comunque! Byeee!
    -- The Mentor
    "You may stop this individual, but you can't stop us all... after all, we're all alike"

Regole di scrittura

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