2015-11-03 92 views
-3

我是一名新的PHP開發人員。我正在開發使用PHP的其他服務器。現在,我需要與結構返回我的客戶JSON像這樣:Php返回結構複雜的json

{ 
"id":"45", 
"login":"OlegRy", 
"image":"no_avatar.png", 
"fon":"", 
"messages":[ 
    { 
     id:1, 
     text:hi 
    }, 
    { 
     id:2, 
     text:how are u? 
    } 
],"subs_login":[]} 

告訴我,請方式來實現它

+0

試過了什麼呢? – 2015-11-03 23:04:04

回答

0

您可以使用數組()在PHP

$out = array("id" => "45", 
    "login" => "OlegRy", 
    "image" => "no_avatar.png", 
    "fon" => "", 
    "messages" => array(
    array("id" => 1, 
      "text" => "hi" 
    ), 
    array(
     "id" => 2, 
     "t)xt" => "how are u?" 
    ) 
), 
    "subs_login" => array() 
); 
echo json_encode($out); 
創建數據結構

其他注意事項:

如果您使用的輸出緩衝我建議使用ob_clean();你呼應JSON之前。

根據您希望前端使用的數據格式,您可能希望將JSON_NUMERIC_CHECK與json_encode()一起使用,以防止將整數轉換爲字符串。

echo json_encode($out, JSON_NUMERIC_CHECK); 

您可能還需要exit();您呼應JSON後,立即以防止取決於你的PHP架構的任何進一步的輸出。

0

這個簡單的代碼:

$data = array(
    'id' => 45, 
    'login' => 'OlegRy', 
    'image' => 'no_avatar.png', 
    'fon' => '', 
    'messages' => array(
     array(
      'id' => 1, 
      'text' => 'hi', 
     ), 
     array(
      'id' => 2, 
      'text' => 'how are u?', 
     ), 
    ), 
    'subs_login' => array(
     // I dont't know what to put here... 
    ), 
); 
echo json_encode($data);