2014-10-28 2 views
0

Я создаю бэкэнд для администратора приложения для Android. Мой код предоставляет выход json, который разработчик android затем использует в своем приложении. Разработчик спросил меня, если это возможно, чтобы уменьшить уровень иерархии на выходе JSonудалить ненужную иерархию из json-вывода

json output

как в удалить выделенную []0 и поместить содержимое непосредственно в []data вместо этого.

Это мой текущий код PHP

if($type == 1)    //Handle item display 
{ 
    try 
    { 
     $query = "SELECT category FROM category";  
     $result= $DBH->query($query); 

     while($row = $result->fetch(PDO::FETCH_ASSOC)) 
     { 
      $cat = $row['category']; 
      $query1 = "SELECT * FROM item WHERE catagory='$cat'";  
      $value = $DBH->query($query1); 
      if($row1 = $value->fetchAll(PDO::FETCH_OBJ)){ 
       $main[] = array('data'=>array($row1)); 
      } 
      else 
      { 
       $main[] = array('data'=>array('catagory'=>$row['category'])); 
      } 

     } 
     echo json_encode($main); 
     $result->closeCursor();   //Close database connection free resources 
     $DBH = null; 
    } 
    catch(PDOException $e){ 
     print $e->getMessage(); 
     die(); 
    } 

} 

И выход JSON генерируется

[ 
    { 
    "data": [ 
     [ 
     { 
      "id": "2", 
      "name": "rice", 
      "price": "20", 
      "description": "Plain Rice", 
      "image": "4106_rice.jpg", 
      "time": "12 mins", 
      "catagory": "Lunch", 
      "subcat": "" 
     }, 
     { 
      "id": "3", 
      "name": "item 1", 
      "price": "32", 
      "description": "item 1 description", 
      "image": "1370_2Ckjikljklkljh.jpg", 
      "time": "10", 
      "catagory": "Lunch", 
      "subcat": "Chicken Soup" 
     }, 
     { 
      "id": "4", 
      "name": "hello", 
      "price": "10", 
      "description": "fgsdjfsfsdj", 
      "image": "", 
      "time": "76", 
      "catagory": "Lunch", 
      "subcat": "" 
     } 
     ] 
    ] 
    }, 
    { 
    "data": { 
     "catagory": "Dinner" 
    } 
    }, 
    { 
    "data": { 
     "catagory": "Soup" 
    } 
    }, 
    { 
    "data": { 
     "catagory": "Test" 
    } 
    } 
] 

Я не очень уверен, что я могу внести изменения, заданные ему или, если это возможно. Это выполнимо?

ответ

1

Ваша структура JSON противоречива и попробовать этот подход, будет проще для разработчиков, чтобы разобрать

{ 
    "response": [ 
     { 
      "data": [ 
       { 
        "id": "2", 
        "name": "rice", 
        "price": "20", 
        "description": "Plain Rice", 
        "image": "4106_rice.jpg", 
        "time": "12 mins", 
        "catagory": "Lunch", 
        "subcat": "" 
       }, 
       { 
        "id": "3", 
        "name": "item 1", 
        "price": "32", 
        "description": "item 1 description", 
        "image": "1370_2Ckjikljklkljh.jpg", 
        "time": "10", 
        "catagory": "Lunch", 
        "subcat": "Chicken Soup" 
       }, 
       { 
        "id": "4", 
        "name": "hello", 
        "price": "10", 
        "description": "fgsdjfsfsdj", 
        "image": "", 
        "time": "76", 
        "catagory": "Lunch", 
        "subcat": "" 
       } 
      ] 
     }, 
     { 
      "data": [ 
       { 
        "catagory": "Dinner" 
       } 
      ] 
     }, 
     { 
      "data": [ 
       { 
        "catagory": "Soup" 
       } 
      ] 
     }, 
     { 
      "data": [ 
       { 
        "catagory": "Test" 
       } 
      ] 
     } 
    ] 
} 
Смежные вопросы