Quan es deserialitzen valors que venen d'un JSON contra un formulari normalment tots els controls del formulari reben correctament els valors del JSON. Tots? No! Un grup d'irreductibles controls es resisteixen a l'invasor. Els "checkboxes"!
En el JSON es poden passar els booleans de dues formes diferents, el serialitzador genera el JSON de forma diferent segons l'origen. Es poden serialitzar de forma nativa ja que el JSON suporta el tipus booleà, llavors es troba algo com: "Camp_boolea": true . En canvi també es pot serialitzar com un "string", i queda així: "Camp_boolea": "True" , cal fixar-se en les cometes...
Quan es declara un control checkbox s'ha de fer de les següents maneres, si al JSON arriba un booleà:
<input type="checkbox" name="elID" id="elID" value="1" />
Si per contra al JSON arriba un string cal posar:
<input type="checkbox" name="elID" id="elID" value="True" />
Canvia el value, i el que no és tan intuïtiu és que surti un value="1" pel JSON booleà. També cal tenir en compte el deserialitzador javascript que es fa servir... |