2014-10-17 27 views
-1

我已經擁有變量JSON編碼,然後像「[」和「]」在json數組中有元素。問題是?如何刪除元素。如何在json中刪除元素數組「[」&「]」?

這是改變前的JSON的示例

[{ 
    "form": { 
     "user_id": "1", 
     "form_id": 26, 
     "form_name": "KireniuS", 
     "form_description": "afafasf", 
     "form_json": [{ 
      "id": 72043, 
      "name": "EditText", 
      "input_type": "text", 
      "hint": "", 
      "options": "" 
     }, { 
      "id": "409289", 
      "name": "Ini Spinner", 
      "input_type": "spinner", 
      "hint": "ini saya ro", 
      "options": "Saya, dan Dia" 
     }], 
     "created_at": "17-10-2014_16:49", 
     "created_by": "adminweb", 
     "last_updated_at": "17-10-2014_16:49" 
    } 
}] 

PHP:

$jadi_json = array(); 
     foreach($model as $row) 
     { 
      $json_converter = json_decode($row->json_form); 


      $saya = array(
       "form"=>array(
        "user_id"=>$row->id_user, 
        "form_id"=>$row->id_form, 
        "form_name"=>$row->form_name, 
        "form_description"=>$row->form_description, 
        "form_json"=>$json_converter->form_json, 
        "created_at"=>$row->created_at, 
        "created_by"=>$row->created_by, 
        "last_updated_at"=>$row->last_updated_at 
       )); 
      array_push($jadi_json, $saya); 
     } 
     header('Content-Type: application/json'); 
     echo json_encode($jadi_json); 

JSON格式所需

{ 
    "form": { 
     "user_id": "1", 
      "form_id": 26, 
      "form_name": "KireniuS", 
      "form_description": "afafasf", 
      "form_json": [{ 
      "id": 72043, 
       "name": "EditText", 
       "input_type": "text", 
       "hint": "", 
       "options": "" 
     }, { 
      "id": "409289", 
       "name": "Ini Spinner", 
       "input_type": "spinner", 
       "hint": "ini saya ro", 
       "options": "Saya, dan Dia" 
     }], 
      "created_at": "17-10-2014_16:49", 
      "created_by": "adminweb", 
      "last_updated_at": "17-10-2014_16:49" 
    } 
} 

元件陣列 「[」 和 「]」 被省略只是表面上。

+5

所以你想要一個單一的對象而不是一個對象數組嗎?只需從數組中取出第一個索引元素,就是這樣,要麼我不理解你的問題,要麼你不懂JSON。 .. – 2014-10-17 10:42:08

+3

'$ new_json = $ old_json [0]'?或者我錯過了什麼? – danneth 2014-10-17 10:47:39

回答

1

首先,您的JSON位於表單對象列表中。要解析JSON,請使用json_decode($json)CJSON::decode($json)。您將有數組是這樣的:

array(
    0 => array('form' => array(...)), 
    // if there is any more `form` elements: 
    1 => array('form' => array(...)), 
); 

從Array獲得第一個元素,使用$myArray[0]current($myArray)(如果你不知道什麼是關鍵將是第一個)。

中底:

$myArray = CJSON::decode($row->json_form); 
$saya = current($myArray); 
$secondSaya = next($myArray); 
$lastSaya = end($myArray); 

如果能夠控制好從您的JSON來了,試圖去改變它,所以它作爲單一的入口,而不是作爲數組。 (例如CJSON::encode(array('form' => array('user_id' => 1, /*...*/)))