使用PHP创建JSON对象

I have hard time creating the following JSON format using PHP code below. Please suggest.

PHP Code

$postArray = array(
    "MainPage" =>  array(
        "i_date"=> "10-10-2012",
        "i_location"=>$_POST["location-text"],
        "i_summary"=>$_POST["summary-text"],
    "SubPage" => "[" array(
        "first_name"=> $_POST["first-1"],
        "last_name"=>$_POST["last-1"]
         ),
         array(
            "first_name"=>$_POST["first-2"],
        "last_name"=>$_POST["last-2"]
         ) "]"
    )
);


array_push($postArray["MainPage"]["SubPage"], 
    array(
         "first_name"=>$_POST["first-3"],
         "last_name"=>$_POST["last-3"]
    )
);

$json = json_encode( $postArray );

Here is the final ouput I am trying to achieve.

{
  "MainPage":{
    "i_date":"2014-03-20",
    "i_location":"test",
    "i_summary":"test test",
    "SubPage":[
      {
        "first_name":"first name test1",
        "last_name":"last name test1"
      },
      {
        "first_name":"first name test2",
        "last_name":"last name test2"
      },
      {
        "first_name":"first name test3",
        "last_name":"last name test3"
      }
    ]
  }
}
douweng7233
douweng7233 此外,我不确定项目之间是否有0。SubPage“:{”first_name“:”名字test1“,”last_name“:”姓氏test1“,”0“:{”first_name“:”名字test2“,”last_name“:”姓氏test2“}},“0”:{“first_name的”:“TEST3”,“姓氏”:“TEST3”}}}”。我需要“[”用于去除血液。
6 年多之前 回复
dtqjbbr5283
dtqjbbr5283 我尝试删除引号但没有奏效。我需要引用成功的deserilisation。
6 年多之前 回复
douwei8911
douwei8911 摆脱“[”和“]”。
6 年多之前 回复
dongmei8460
dongmei8460 “SubPage”=>[...array(...)...],没有引号。
6 年多之前 回复

1个回答

I've made some changes to your original code which should give the results that you want.

$postArray = array(
    'MainPage' => array(
        'i_date' => '2014-03-20',
        'i_location' => $_POST["location-text"],
        'i_summary' => $_POST["summary-text"],
        'SubPage' => array(
            array(
                'first_name' => $_POST["first-1"],
                'last_name' => $_POST["last-1"]
            ),
            array(
                'first_name' => $_POST["first-2"],
                'last_name' => $_POST["last-2"]
            )                        
        )
    )
);

$postArray['MainPage']['SubPage'][] = array(
    'first_name' => $_POST["first-3"],
    'last_name' => $_POST["last-3"]
);

$json = json_encode($postArray);
dongzhan1948
dongzhan1948 谢谢。 这似乎有效。
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐