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