Si può estrarre la sottostringa che va da gate:1 a gate:2

Il mer 19 mar 2025, 14:22 Leonardo Boselli <leo-stre...@trail.it> ha
scritto:

> Qualche settimana fa avevo fatto un post che chiedava suggerimenti su come
> attivare al volo dei processi ecc ecc. Ruguardanto tutto ho deciso di
> adottare un diverso metodo, che non richiede processi separati in ascolto
> su porte diverse.
> Tuttavia mi sono scontrato in due "piccoli" problemi, probabilmente
> facilmente risolvibili in modo elegante, ma per ora ho trovato solo modi
> "macchinosi".
> Premessa: i dati vengono o inviati da processi esterni creando dei file
> che contengono all'interno il dato (o da solo o in un record CSV) oppure
> aggiornati periodicamante da un processo cron
>   1. se ho uno script bash posso fare i test su variabili locali o
> varibili
> di ambiente. Come faccio a fare il test sul contenuto di un file, senza
> dovere fare prima un varlocale=`cat file` ?
>   1bis. nel test di bash come metto una formula ?
>   2. la presentazione viene fatta da uno script php, in certi casi però è
> necessario che questo script "solleciti" i dati aggiornati.
> il modo più semplice è fare una chiamata http al server remoto, che però
> fornsce un record json .
> Questo recold viene decodificato senza problemi con jq ma mi sono trovato
> di fronte a un grosso problema con php, o chiesto a esperti di quel
> sistema, ma non hannop saputo dare rispposte valide, e tutti gli esmpi
> fanno riferimento a record jso "piatti".
> Il record che mi arriva è del tipo
>
> {"nome":"as001","gate:1":{"last_time":1742374708,"action"=1,"res":[0.04,19]},"gate:2":{"last_time":1742374718,"action"=3,"res":[1.00,0.99]}}
>
> e a me servono gate:1.action e i due valori di res . ma in php non sono
> riuscito a trovare un modo di tirarli fuori, dovo aver dato
> $ob=jsondecode($record);
> (ma var_dump($record) me li fa vedere tutti, quindi la decodifica è giusta
> ...)
>
>   -- Leonardo Boselli
> Firenze, Toscana, Europa
> http://i.trail.it

Rispondere a