Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    ritornare json da php a javascript

    ciao a tutti,
    da php ho bisogno di generare un Json fatto così e restituirlo ad una chiamata javascript:

    {total: 10, totalNotFiltered: 10, rows: Array(10)}

    ispezionando rows vorrei i json così formattati:
    rows: Array(10)}

    0: {id:1,ragione_sociale:'rag soc 1',email:'info@mariorossi.it'},
    1: {id:2,ragione_sociale:'rag soc 2',email:'info@andreanerini.it'},
    ecc

    con php ho fatto così ma mi arrivano le doppie vigorlette "

    Codice PHP:
    $response = array();        
    $rows = array();        
    while (
    $row mysqli_fetch_array($data))    // $data è il mio resultset con i dati di una semplice  select    {            
      
    $r = array();            
      
    $r['id']                 = $row['id'];            
      
    $r['ragione_sociale']    = $row['ragione_sociale'];            
      
    $r['email']              = $row['email'];                        
      
    array_push($rows$r);        
    }                                    

    $response['total'] = 10// $total;    
    $response['totalNotFiltered']= 10// $totalNotFiltered;    
    $response['rows'] = $rows;        
    echo 
    json_encode($response); 

    a javascript arriva questo e non piace ad una routine di bootstrap-table e quindi non vedo i dati
    {"rows":[
    {"id":"1","ragione_sociale":"rag soc 1","email":"info@mariorossi.it"},
    {"id":"2","ragione_sociale":"rag soc 2","email":"info@andreanerini.it"},
    ecc],
    "total":"10",
    "totalNotFiltered" : "10"}

    qualcuno + esperto può aiutarmi?
    Guidino

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non mi pare ci sia modo di dire a json_encode() se usare le virgolette o l'apice singolo.
    Una volta generata la string JSON, passala str_replace() in modo da sostituire le virgolette con l'apice, se però all'interno di qualche dato ci fosse una stringa contenente l'apice, questo ti spezzerebbe il JSON, quindi dovresti prima farne l'escape
    Codice PHP:
    $json_str json_encode($response);
    $json_str str_replace("'""\'"$json_str);
    $json_str str_replace("\"""'"$json_str);

    echo 
    $json_str

  3. #3
    json_encode() è più che sufficiente per passare dati da PHP a JSON:

    https://pastebin.com/Td9hxK2b

    Se non ti funziona con bootstrap-table probabilmente dipende dal modo in cui lo hai integrato. Posta l'eventuale messaggio di errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Grazie per le risposte.

    A Filippo dico che nella console di javascript non ho errori semplicemente non mi fa vedere i dati mentre se nella chiamata ajax metto l'url dell'esempio
    https://examples.wenzhixin.net.cn/ex...rap_table/data
    i dati li vedo

    ergo

    che devo formattare i dati così come lo fa il link postato sopra

    l'idea di ripassare il json con il replace potrebbe essere giusta ma pericolosa...

    idee?
    Guidino

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    capito,
    da javascript dopo aver ricevuto il json da php devo fare JSON.parse(resdaPhph)

    Grazie
    Guidino

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.