Ho un file di registro, in cui ogni riga è un JSON. A causa di alcuni motivi di sicurezza Nginx, i registri vengono salvati in un formato esadecimale (ad esempio, il carattere "saranno convertiti in \ x22) Ecco un esempio di una linea di JSON:.Vai - Come decodificare/convertire un file txt contiene caratteri esadecimali in stringa leggibile
{ "body_bytes_sent": "474", "params": {\x22device_id\x22: \x221234567890\x22} }
Il mio obiettivo:
- Leggere il file riga per riga.
Convertire ogni riga in un formato leggibile
{ "body_bytes_sent": "474", "params" : {"device_id": "1234567890"} }
Convertire questa str in un oggetto JSON in modo da poterlo manipolare.
Qualsiasi aiuto sarà apprezzato.
Grazie! Mi dà una soluzione per il caso che ho descritto la mia domanda, ma non risolve il caso quando la stringa è un mix di JSON valido e non valido. Vedi la mia domanda aggiornata. Grazie ancora! A proposito, questo accade perché il nginx codifica solo i parametri del corpo della richiesta. – Asaf
@Asaf: Perché il codice di Not_a_Golfer non dovrebbe fallire nel "mix di JSON valido e non valido"? – Volker
Se eseguo il codice di @Not_a_Golfer, ottengo l'errore "sintassi non valida" su questa riga 's, err: = strconv.Unquote (fmt.Sprintf ("% s ", qs))' – Asaf