Search code examples
phpjsonweb-servicesjson-deserialization

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


I have a JSON String. I want it to be filled in Array. Here is Array which i receive.

My JSON Response is:

{
    "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"
        }]
    }
}

I want to store all this data in Array and from that in DataBase.


Solution

  • If you want this json string in an array than you can use

    json_decode($string,true);
    

    Note that, second param of json_decode will return the array if you need result in object form than remove the second param "true".

    Your Code:

    $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);
    

    Result:

    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
                            )
    
                    )
    
            )
    
    )