2013-07-23 12 views
21

Si tratta di dati di file .json mieiCome aggiornare il file .json/modificare utilizzando php

[{"activity_code":"1","activity_name":"FOOTBALL"},{"activity_code":"2","activity_name":"CRICKET"}] 

ho bisogno di aggiornare {"activity_code":"1","activity_name":"FOOTBALL"}-{"activity_code":"1","activity_name":"TENNIS"} sulla base di activity_code

Come faccio questo in php?

risposta

43

In primo luogo, è necessario decodificare:

$jsonString = file_get_contents('jsonFile.json'); 
$data = json_decode($jsonString, true); 

quindi modificare i dati:

$data[0]['activity_name'] = "TENNIS"; 
// or if you want to change all entries with activity_code "1" 
foreach ($data as $key => $entry) { 
    if ($entry['activity_code'] == '1') { 
     $data[$key]['activity_name'] = "TENNIS"; 
    } 
} 

Poi ricodificarlo e salvarlo di nuovo nel file:

$newJsonString = json_encode($data); 
file_put_contents('jsonFile.json', $newJsonString); 
+0

qui '$ data [1]' 1 rappresenta il valore del nodo o il codice attività? – user475464

+0

L'ho corretto, '$ data [0]' è in realtà '{" activity_code ":" 1 "," activity_name ":" FOOTBALL "}' – Brewal

+0

ho bisogno di base su codice ad esempio {"activity_code": "TG3", "activity_name": "FOOTBALL"} in questo caso ho bisogno di aggiornare ACTIVITY_CODE - TG3 a TENNIS – user475464

Problemi correlati