如何在数组中转换 JSON 字符串.数组中的数组卡住了我.如何处理它


How to convert JSON string in Array. Array within Array stuck me. How to handle with it?

我有一个JSON字符串。我希望它被填充在数组中。这是我收到的数组。

我的 JSON 响应是:

{
    "model": "SyncData",
    "unique_id": "c12fb356f90d032b",
    "key": "sdjvnsdivbsnd",
    "sync_data": {
        "array_a": [{
            "a_fav": "true",
            "a_id": 1
        }, {
            "a_fav": "false",
            "a_id": 2
        }],
        "array_b": [{
            "b_fav": "false",
            "b_id": 8
        }],
        "c_array": [{
            "c_fav": "false",
            "c_id": 15996
        }],
        "patient_list_array": [{
            "unique_id": "sdvsdvsdvdsdv",
            "p_status": "false",
            "p_id": 1454943805215,
            "p_note": "2",
            "p_code": "8",
            "p_timestamp": 1454943805216,
            "p_name": "ABC XYZ",
            "p_status": 1,
            "p_room_no": "5"
        }],
        "array_d": [{
            "d_assigned_id": "30",
            "d_fav": "true"
        }]
    }
}

我想将所有这些数据存储在 Array 中,并从数据存储在数据库中。

如果你想在数组中这个 json 字符串,你可以使用

json_decode($string,true);

请注意,如果您需要对象形式的结果,json_decode的第二个参数将返回数组,而不是删除第二个参数"true"。

您的代码:

$string = '{
    "model": "SyncData",
    "unique_id": "c12fb356f90d032b",
    "key": "sdjvnsdivbsnd",
    "sync_data": {
        "array_a": [{
            "a_fav": "true",
            "a_id": 1
        }, {
            "a_fav": "false",
            "a_id": 2
        }],
        "array_b": [{
            "b_fav": "false",
            "b_id": 8
        }],
        "c_array": [{
            "c_fav": "false",
            "c_id": 15996
        }],
        "patient_list_array": [{
            "unique_id": "sdvsdvsdvdsdv",
            "p_status": "false",
            "p_id": 1454943805215,
            "p_note": "2",
            "p_code": "8",
            "p_timestamp": 1454943805216,
            "p_name": "ABC XYZ",
            "p_status": 1,
            "p_room_no": "5"
        }],
        "array_d": [{
            "d_assigned_id": "30",
            "d_fav": "true"
        }]
    }
}';
$array = json_decode($string,true);
echo "<pre>";
print_r($array);

结果:

Array
(
    [model] => SyncData
    [unique_id] => c12fb356f90d032b
    [key] => sdjvnsdivbsnd
    [sync_data] => Array
        (
            [array_a] => Array
                (
                    [0] => Array
                        (
                            [a_fav] => true
                            [a_id] => 1
                        )
                    [1] => Array
                        (
                            [a_fav] => false
                            [a_id] => 2
                        )
                )
            [array_b] => Array
                (
                    [0] => Array
                        (
                            [b_fav] => false
                            [b_id] => 8
                        )
                )
            [c_array] => Array
                (
                    [0] => Array
                        (
                            [c_fav] => false
                            [c_id] => 15996
                        )
                )
            [patient_list_array] => Array
                (
                    [0] => Array
                        (
                            [unique_id] => sdvsdvsdvdsdv
                            [p_status] => 1
                            [p_id] => 1454943805215
                            [p_note] => 2
                            [p_code] => 8
                            [p_timestamp] => 1454943805216
                            [p_name] => ABC XYZ
                            [p_room_no] => 5
                        )
                )
            [array_d] => Array
                (
                    [0] => Array
                        (
                            [d_assigned_id] => 30
                            [d_fav] => true
                        )
                )
        )
)
用于

可视化 JSON 字符串的简单代码

<?php
$string = '{
    "model": "SyncData",
    "unique_id": "c12fb356f90d032b",
    "key": "sdjvnsdivbsnd",
    "sync_data": {
        "array_a": [{
            "a_fav": "true",
            "a_id": 1
        }, {
            "a_fav": "false",
            "a_id": 2
        }],
        "array_b": [{
            "b_fav": "false",
            "b_id": 8
        }],
        "c_array": [{
            "c_fav": "false",
            "c_id": 15996
        }],
        "patient_list_array": [{
            "unique_id": "sdvsdvsdvdsdv",
            "p_status": "false",
            "p_id": 1454943805215,
            "p_note": "2",
            "p_code": "8",
            "p_timestamp": 1454943805216,
            "p_name": "ABC XYZ",
            "p_status": 1,
            "p_room_no": "5"
        }],
        "array_d": [{
            "d_assigned_id": "30",
            "d_fav": "true"
        }]
    }
}';
$obj = json_decode($string);
print_r($obj);

这将输出:

stdClass Object
(
    [model] => SyncData
    [unique_id] => c12fb356f90d032b
    [key] => sdjvnsdivbsnd
    [sync_data] => stdClass Object
        (
            [array_a] => Array
                (
                    [0] => stdClass Object
                        (
                            [a_fav] => true
                            [a_id] => 1
                        )
                    [1] => stdClass Object
                        (
                            [a_fav] => false
                            [a_id] => 2
                        )
                )
            [array_b] => Array
                (
                    [0] => stdClass Object
                        (
                            [b_fav] => false
                            [b_id] => 8
                        )
                )
            [c_array] => Array
                (
                    [0] => stdClass Object
                        (
                            [c_fav] => false
                            [c_id] => 15996
                        )
                )
            [patient_list_array] => Array
                (
                    [0] => stdClass Object
                        (
                            [unique_id] => sdvsdvsdvdsdv
                            [p_status] => 1
                            [p_id] => 1454943805215
                            [p_note] => 2
                            [p_code] => 8
                            [p_timestamp] => 1454943805216
                            [p_name] => ABC XYZ
                            [p_room_no] => 5
                        )
                )
            [array_d] => Array
                (
                    [0] => stdClass Object
                        (
                            [d_assigned_id] => 30
                            [d_fav] => true
                        )
                )
        )
)