Fork me on GitHub
#clojure-italy
<
2018-07-18
>
reborg13:07:28

Domanda del giorno. Ho un json-input abbastanza nested e lungo. Ho un altro json-output che e' una transformazione di json-input (cioe' piglia da /x/y/z e metti in /a/b/c ad es.) che ha una struttura differente e nomi di chiavi diverse. La prima soluzione venuta in mente e' postwalk, matching su key names con update. Puo' anche andare, ma mi chiedo, qualcosa di meglio?

bronsa13:07:58

non ho capito qual e` la R di R(json-input, json-output)

bronsa13:07:21

stai chiedendo un approccio per andare da json-input a json-output che non sia un postwalk?

reborg13:07:42

La domanda e' che approccio usereste voi per fare la transformazione.

reborg13:07:19

Ad es, potrei usare un template language, piazzare placeholder nel json-output and sostituire, ma non mi sembra una buona idea

bronsa13:07:42

eh dipende da che transformazione e`.. se e` un semplice renaming preservando gli invarianti strutturali un walk mi sembra ideale

reborg13:07:20

qualche pezzo di struttura comune, qualche no

reborg13:07:34

vada per il walk, il matching alla fine e' un lungo cond (una entry per ogni transformazione piu' o meno)

reborg13:07:57

forse potrei cavarmela con mutimethod et similari

reborg13:07:24

alla fine e' la transformazione di un tree in un altro tree... mi chiedo quale sia il modo migliore, e possibilmente dichiarativo, di elencare le regole di transformazione

nilrecurring17:07:16

Potresti usare walk + core.match, ma anche io andrei per cond