繁体   English   中英

从json输出中删除不必要的层次结构

[英]remove unnecessary hierarchy from json output

我正在为一个Android应用程序构建一个管理后端。 我的代码提供了json输出,Android开发人员随后在其应用中使用了该输出。 开发人员问我是否可以降低json输出中的层次结构级别

json输出

如上所示,删除突出显示的[]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"
    }
  }
]

我不确定我是否可以进行他要求的更改,或者是否可以更改。 可以吗

您的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"
                }
            ]
        }
    ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM