Spesso ci torna utile serializzare una form HTML in JSON, invece di utilizzare la normale notazione di default in stile query string, poiché, magari, i dati inseriti al suo interno dovranno essere inviati ad un endpoint che si aspetta come corpo della richiesta dei dati in formato JSON.
Possiamo risolvere questa necessità utilizzando lo script riportato di seguito:
$.fn.serializeObject = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[this.name]) {
if (!o[this.name].push)
o[this.name] = o[this.name];
} else {
o[this.name] = this.value || '';
}
});
return o;
};A livello funzionale, non facciamo altro che aggiungere tramite l'alias fn un nuovo prototipo di funzione serializeObject, che, preso in input l'istanza dell'oggetto, itera su ogni elemento dell'array generato dalla serializzazione dell'oggetto aggiungendolo, qualora non sia già presente. Una volta aggiunti tutti gli elementi, utilizziamo il metodo stringify per rappresentare l'array con la notazione chiave-valore tipica di JSON. Lo script dovrà essere richiamato nel seguente modo:
var json = JSON.stringify($('#myForm').serializeObject());Tale riga di codice produrrà l'output riportato nella figura sottostante, che come possiamo aspettarci potrà essere utilizzato facilmente in operazioni di deserializzazione server side.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Centralizzare e governare MCP server e Skill con Azure API Center
Cache temporanea in Javascript con oggetti
Operazioni tra insiemi di array in Javascript
Stop Building Chatbots. Build a team
Cambiamenti in OpenAPI per la documentazione di ASP.NET
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Integrare email esterne con Azure Functions e Managed Connectors
Self-healing degli unit test con Copilot in GitHub
Gestire trasferimenti cloud con Azure Storage Mover
Validazione personalizzata nelle Minimal API di ASP.NET Core
Running workloads and operations with Azure Kubernetes Service
I più letti di oggi
- .NET Aspire vs Dapr: differenze, sovrapposizioni e integrazione
- il nostro libro su #silverlight3 è in offerta al 50% di sconto, a soli 19 euro, fino a fine agosto! http://aspitalia.com/zg
- Risolvere un dominio in indirizzo IP con ASP.NET
- Scenari di test avanzati con ASP.NET Core
- annunciate le edizioni di #VS2015: sono Community (free), Professional e Enterprise https://aspit.co/a3v
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!


