2015-11-03 53 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);