2016-02-02 2 views
-1

Итак, у меня есть некоторые данные в формате JSON, который выглядит следующим образом:Анализировать JSON и удалять элементы в PHP

{ 
    "Table1":[ 
     { 
     "CURRENCY_FLAG":"EUR", 
     "TRADE_DATE":"2015-10-15", 
     "DELIVERY_DATE":"2015-10-15", 
     "DELIVERY_HOUR":"7", 
     "DELIVERY_INTERVAL":"1", 
     "RUN_TYPE":"EA", 
     "SMP":"35.370", 
     "LAMBDA":"35.370", 
     "SYSTEM_LOAD":"3164.611", 
     "CMS_TIME_STAMP":"2015-10-14T10:03:09+01:00" 
     }, 
     { 
     "CURRENCY_FLAG":"GBP", 
     "TRADE_DATE":"2015-10-15", 
     "DELIVERY_DATE":"2015-10-15", 
     "DELIVERY_HOUR":"7", 
     "DELIVERY_INTERVAL":"1", 
     "RUN_TYPE":"EA", 
     "SMP":"26.460", 
     "LAMBDA":"26.460", 
     "SYSTEM_LOAD":"3164.611", 
     "CMS_TIME_STAMP":"2015-10-14T10:03:09+01:00" 
     }... etc 

Я довольно простой в PHP, но принес эти данные с CURL, и теперь я хочу перебирать эти данные и удалять каждый узел со значением «GBP» для «CURRENCY_FLAG» и просто висеть на тех, у кого есть знак «EUR».

Может ли кто-нибудь указать мне в правильном направлении разбора этого с помощью PHP?

Спасибо!

+4

[ 'json_decode()'] (http://php.net/manual/en/function.json-decode.php) делает синтаксический анализ для вас. Остальное - это просто манипулирование структурами данных PHP. – axiac

+0

прочитайте ответ [http://stackoverflow.com/questions/4343596/parsing-json-file-with-php], чтобы увидеть процесс итерации по массиву. Я отмечу это как дубликат – OYRM

ответ

0

Попробуйте просто так после декодирования вашей JSon строки, используя json_decode()

//decode json string 
$result = json_decode($curl_result, true); 

$final_result = []; 
foreach($result['Table1'] as $key => $value){ 
    if($value['CURRENCY_FLAG'] != 'GBP'){ //exclude currency flag with GBP 
     $final_result[] = $value; 
    } 
} 

print '<pre>'; 
print_r($final_result); 
print '</pre>'; 
+0

Это замечательно, спасибо! – iAsk

+0

Я так бесполезен с PHP. Чтобы перейти к более низкому уровню после того, как эти элементы были найдены и сохранены в массиве, как бы я мог только сохранить только следующие элементы и забыть остальное. "CURRENCY_FLAG": "GBP", "DELIVERY_DATE": "2015-10-15", "DELIVERY_HOUR": "7", "DELIVERY_INTERVAL": "1", "СМП": "26,460 », – iAsk

Смежные вопросы