A
A
Angelina Alipova2021-11-02 14:30:41
PHP
Angelina Alipova, 2021-11-02 14:30:41

How to filter json format data in php file?

There is a json array, you need to find all the curly braces in this file with the type": "offline" parameter, remove them and return them back in the same format.
As I understand it, you need to use an encoder and decoder?

json example

[{
        "id": "00000008524",
        "title": "Комплекс из двух исследований \"МРТ головного мозга и гипофиза\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ гипофиза)",
        "prefix": "",
        "type": "online",
        "price": 330.46,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 3600
    }, {
        "id": "00000008520",
        "title": "Комплекс из двух исследований \"МРТ головного мозга и шейного отдела позвоночника\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ шейного отдела позвоночника и спинного мозга)",
        "prefix": "",
        "type": "online",
        "price": 332.29,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 3900
    }, {
        "id": "00000008522",
        "title": "Комплекс из двух исследований \"МРТ грудного и поясничного отделов позвоночника\" (Комплексное МРТ грудного отдела позвоночника и спинного мозга, Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга)",
        "prefix": "",
        "type": "online",
        "price": 253.54,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 3900
    }, {
        "id": "00000008526",
        "title": "Комплекс из двух исследований \"МРТ обоих плечевых суставов\" (Комплексное МРТ плечевого сустава, Комплексное МРТ плечевого сустава)",
        "prefix": "",
        "type": "online",
        "price": 350.22,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 4800
    }, {
        "id": "00000008523",
        "title": "Комплекс из двух исследований \"МРТ поясничного отдела позвоночника, крестца и копчика\" (Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга, Комплексное МРТ крестца и копчика)",
        "prefix": "",
        "type": "online",
        "price": 301.84,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 3900
    }, {
        "id": "00000008521",
        "title": "Комплекс из двух исследований \"МРТ шейного и грудного отделов позвоночника\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ грудного отдела позвоночника и спинного мозга)",
        "prefix": "",
        "type": "online",
        "price": 268.02,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 4200
    }, {
        "id": "00000008528",
        "title": "Комплекс из двух исследований \"МРТ шейного отдела позвоночника и плечевого сустава\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ плечевого сустава)",
        "prefix": "",
        "type": "online",
        "price": 329.32,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 4500
    }, {
        "id": "00000007924",
        "title": "комплексное МРТ гипофиза",
        "prefix": "",
        "type": "online",
        "price": 157.57,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 1800
    }, {
        "id": "00000007738",
        "title": "комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография",
        "prefix": "",
        "type": "online",
        "price": 182.70,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 1800
    }, {
        "id": "00000007741",
        "title": "комплексное МРТ грудного отдела позвоночника и спинного мозга",
        "prefix": "",
        "type": "online",
        "price": 118.44,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 2100
    }, {
        "id": "00000007735",
        "title": "комплексное МРТ коленного сустава",
        "prefix": "",
        "type": "online",
        "price": 163.25,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 2100
    }, {
        "id": "00000007739",
        "title": "комплексное МРТ крестца и копчика",
        "prefix": "",
        "type": "online",
        "price": 166.74,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 2100
    }, {
        "id": "00000007737",
        "title": "комплексное МРТ крестцово-подвздошных сочленений",
        "prefix": "",
        "type": "online",
        "price": 113.94,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 2400
    }, {
        "id": "00000007730",
        "title": "комплексное МРТ лучезапястного сустава",
        "prefix": "",
        "type": "online",
        "price": 184.50,
        "currency": "BYN",
        "category_id": "00000007142",
        "no_staff": true,
        "during": 2400
    }
]

Answer the question

In order to leave comments, you need to log in

2 answer(s)
I
irishmann, 2021-11-02
@Coddy_Angel

json_decode(), loop through the array, foreach, for example, into another array, and pack back json_encode()

UPD. I threw an example, took your json, shortened it and added offline.

<?php
    $json = '[{"id":"00000008524","title":"Комплекс из двух исследований \"МРТ головного мозга и гипофиза\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ гипофиза)","prefix":"","type":"online","price":330.46,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3600},{"id":"00000008520","title":"Комплекс из двух исследований \"МРТ головного мозга и шейного отдела позвоночника\" (Комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография, Комплексное МРТ шейного отдела позвоночника и спинного мозга)","prefix":"","type":"offline","price":332.29,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008522","title":"Комплекс из двух исследований \"МРТ грудного и поясничного отделов позвоночника\" (Комплексное МРТ грудного отдела позвоночника и спинного мозга, Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга)","prefix":"","type":"online","price":253.54,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008526","title":"Комплекс из двух исследований \"МРТ обоих плечевых суставов\" (Комплексное МРТ плечевого сустава, Комплексное МРТ плечевого сустава)","prefix":"","type":"offline","price":350.22,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4800},{"id":"00000008523","title":"Комплекс из двух исследований \"МРТ поясничного отдела позвоночника, крестца и копчика\" (Комплексное МРТ поясничного и крестцового отдела позвоночника и спинного мозга, Комплексное МРТ крестца и копчика)","prefix":"","type":"online","price":301.84,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":3900},{"id":"00000008521","title":"Комплекс из двух исследований \"МРТ шейного и грудного отделов позвоночника\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ грудного отдела позвоночника и спинного мозга)","prefix":"","type":"offline","price":268.02,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4200},{"id":"00000008528","title":"Комплекс из двух исследований \"МРТ шейного отдела позвоночника и плечевого сустава\" (Комплексное МРТ шейного отдела позвоночника и спинного мозга, Комплексное МРТ плечевого сустава)","prefix":"","type":"online","price":329.32,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":4500},{"id":"00000007924","title":"комплексное МРТ гипофиза","prefix":"","type":"offline","price":157.57,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":1800},{"id":"00000007738","title":"комплексное МРТ головного мозга с программой ранней диагностики инсультов и МР ангиография","prefix":"","type":"online","price":182.70,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":1800},{"id":"00000007741","title":"комплексное МРТ грудного отдела позвоночника и спинного мозга","prefix":"","type":"online","price":118.44,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007735","title":"комплексное МРТ коленного сустава","prefix":"","type":"online","price":163.25,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007739","title":"комплексное МРТ крестца и копчика","prefix":"","type":"online","price":166.74,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2100},{"id":"00000007737","title":"комплексное МРТ крестцово-подвздошных сочленений","prefix":"","type":"online","price":113.94,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2400},{"id":"00000007730","title":"комплексное МРТ лучезапястного сустава","prefix":"","type":"online","price":184.50,"currency":"BYN","category_id":"00000007142","no_staff":true,"during":2400}]';
    echo 'Исходный JSON: ', $json, "<br><br>\r\n\r\n";
    
    $objects_array = json_decode($json);
    $new_objects_array = [];
    foreach($objects_array as $object){
        if($object->type != 'offline'){
            $new_objects_array[] = $object;
        }
    }
    
    $new_json = json_encode($new_objects_array, JSON_UNESCAPED_UNICODE);
    
    echo 'Перебранный JSON: ', $new_json;

R
Rsa97, 2021-11-02
@Rsa97

1. Decode, json_decode.
2. Filter, array_filter.
3. Encode back, json_encode.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question