2016-06-06 7 views
0

У меня такой файл json.Как добавить данные в массив в JSON w PHP?

{ 
    "id": 22, 
    "sender": "btknctTR", 
    "title": "(Sistem) btknctTR - Son mesajları.", 
    "date": "May 8, 2016 4:46:13 PM", 
    "lastupdatedate": "May 12, 2016 5:43:30 PM", 
    "category": "Küfür_Bildirimi", 
    "priority": "Normal", 
    "appointedAdmin": "DonduranAtes", 
    "archived": true, 
    "messages": [ 
    { 
     "sender": "btknctTR", 
     "message": "asd", 
     "date": "May 8, 2016 11:47:45 PM" 
    }, 
    { 
     "sender": "btknctTR", 
     "message": "/asd", 
     "date": "May 8, 2016 11:47:46 PM" 
    }, 
    { 
     "sender": "btknctTR", 
     "message": "/report btknctTR", 
     "date": "May 8, 2016 11:47:51 PM" 
    }, 
    { 
     "sender": "Speaw", 
     "message": "tamam", 
     "date": "May 8, 2016 11:56:39 PM" 
    }, 
    { 
     "sender": "KaptanUcar", 
     "message": "peki", 
     "date": "May 10, 2016 6:19:26 PM" 
    } 
    ] 
} 

Я хочу добавить новое сообщение в массив «messages» и преобразовать строку в json. Это система поддержки. Как я могу это сделать?

+4

Decode ваш JSON. Добавьте данные. Кодируйте его снова. – Rizier123

+0

'$ myJSON = json_decode ($ string, true); $ myJSON ['messages'] [] = array ('sender' => '', 'message' => '', 'date' => ''); $ string = json_encode ($ myJSON); ' – cmorrissey

+0

Спасибо за помощь cmorrissey –

ответ

0

Это довольно просто, просто конвертируйте (расшифруйте) JSON в массив PHP, добавьте новые данные сообщения и перекодируйте его в строку JSON!

Пример кода:

$array = json_decode($inputJSON); 
$array['messages'][] = ['sender'=>'sample', 'message'=>'sample', 'date'=>'sample']; 
$jsonOutput = json_decode($array); 
Смежные вопросы