Как преобразовать строку JSON в массиве. Массив внутри Массив застрял меня. Как справиться с этим?

У меня есть строка 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"}]
}
}

Я хочу хранить все эти данные в массиве и из этого в базе данных.

0

Решение

Если вы хотите эту строку 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
)

)

)

)
1

Другие решения

Простой код для визуализации вашей строки 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
)

)

)

)
2

По вопросам рекламы [email protected]