如何在codeingiter中读取json数组

时间:2017-06-21 09:33:40

标签: php json codeigniter

我试图解码json并从json代码中获取值。

[{
    "restaurant_id":1,
    "menu_template_id":2,
    "add_food_item_a":1,
    "menu_category_id":1,
    "status":0
} ,
{
    "restaurant_id":1,
    "menu_template_id":2,
    "add_food_item_a":2,
    "menu_category_id":1,
    "status":0
}]

我需要从这个json中读取并使用add_food_item_a和status创建一个数组。

目前我正在使用这样的

public function readJson()
    {
        $json_obj = json_decode('');
        if (isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"])) {
            $json_text = $this->cleanMe($GLOBALS["HTTP_RAW_POST_DATA"]);
            // now insert into user table
            $json_obj = json_decode($json_text);
        }
        return $json_obj;
    }

我将此功能称为

$add_food_item_a = isset($json_obj->add_food_item_a) ? $json_obj->add_food_item_a : '';

但无法读取此json代码数组

1 个答案:

答案 0 :(得分:1)

您是否尝试获取'add_food_item_a'和'status'的值

    <?php

    $json='[{
        "restaurant_id":1,
        "menu_template_id":2,
        "add_food_item_a":1,
        "menu_category_id":1,
        "status":0
    } ,
    {
        "restaurant_id":1,
        "menu_template_id":2,
        "add_food_item_a":2,
        "menu_category_id":1,
        "status":0
    }]';

    echo "<pre>";
    $array = json_decode($json,1);
    print_r($array);
    foreach($array as $value)
    {
        echo "\n".$value['add_food_item_a'];
        echo "\n".$value['status'];
    }