Wie HTML5 FormData-Objekt in JSON konvertieren? Ohne Jquery und Handhabung verschachtelter Eigenschaften in FormData wie ein Objekt.So konvertieren Sie FormData (HTML5-Objekt) zu JSON
Antwort
Sie auch forEach
auf dem FormData
Objekt direkt verwenden:
var object = {};
formData.forEach(function(value, key){
object[key] = value;
});
var json = JSON.stringify(object);
Sie können dies erreichen, indem Sie das Objekt FormData() verwenden. Dieses FormData-Objekt wird mit den aktuellen Schlüsseln/Werten des Formulars gefüllt, wobei die Eigenschaft name jedes Elements für die Schlüssel und deren übergebener Wert für die Werte verwendet wird. Es wird auch Dateieingabeinhalt codieren.
Beispiel:
var myForm = document.getElementById('myForm');
myForm.addEventListener('submit', function(event)
{
event.preventDefault();
var formData = new FormData(myForm),
result = {};
for (var entry of formData.entries())
{
result[entry[0]] = entry[1];
}
result = JSON.stringify(result)
console.log(result);
});
Einfache Funktion nutzen zu können
I erstellte A Function For This
function FormDataToJSON(FormElement){
var formData = new FormData(FormElement);
var ConvertedJSON= {};
for (const [key, value] of formData.entries())
{
ConvertedJSON[key] = value;
}
return ConvertedJSON
}
Beispiel Verwendung
var ReceivedJSON = FormDataToJSON(document.getElementById('FormId');)
In diesem Code habe ich eine leere JSON-Variable mit for
Schleife erstellt Ich habe key
s von FormData Object zu JSON Keys in jeder Itration verwendet.
Sie diesen Code finden in meiner JS-Bibliothek auf GitHub schlägt mich, wenn es verbessert werden muß ich hier Platziert Code habe https://github.com/alijamal14/Utilities/blob/master/Utilities.js
Bitte erläutern Sie Ihren Code. – zuluk
@zuluk [Explained] (https://stackoverflow.com/revisions/44151416/2) ** Danke ** –
Formdata Methode .entries
und der for of
Ausdruck nicht in IE11 und Safari unterstützt.
Hier ist eine einfachere Version Safari, Chrome, Firefox und Edge-
function formDataToJSON(formElement) {
var formData = new FormData(formElement),
convertedJSON = {};
formData.forEach(function(value, key) {
convertedJSON[key] = value;
});
return convertedJSON;
}
Warnung zu unterstützen: diese Antwort nicht funktioniert in IE11.
FormData hat keine forEach
Methode in IE11.
Ich bin immer noch auf der Suche nach einer endgültigen Lösung zur Unterstützung aller gängigen Browser.
das ist perfekt! Wir müssen ältere Browser unterstützen und die Verwendung des Iterators ist nicht sehr intuitiv. –
Wenn Sie lodash verwenden es bündig mit fromPairs
import {fromPairs} from 'lodash';
const object = fromPairs(Array.from(formData.entries()));
getan werden kann, ist hier ein Weg, um es in einem mehr zu tun funktionaler Stil, ohne die Verwendung einer Bibliothek.
Array.from(formData.entries()).reduce((memo, pair) => ({
...memo,
[pair[0]]: pair[1],
}), {});
Beispiel:
document.getElementById('foobar').addEventListener('submit', (e) => {
e.preventDefault();
const formData = new FormData(e.target);
const data = Array.from(formData.entries()).reduce((memo, pair) => ({
...memo,
[pair[0]]: pair[1],
}), {});
document.getElementById('output').innerHTML = JSON.stringify(data);
});
<form id='foobar'>
<input name='baz' />
<input type='submit' />
</form>
<pre id='output'>Input some value and submit</pre>
- 1. So konvertieren Sie JSON zu swift 3
- 2. Konvertieren von JSON-Objekt in FormData (HTML5-Objekt)
- 3. So konvertieren Sie JSON zu YAML in Javascript
- 4. So konvertieren Sie Array von Fehlern zu JSON in Go
- 5. konvertieren rss zu JSON
- 6. konvertieren NSString zu JSON
- 7. Konvertieren von Formdata NameValueCollection in Objekt
- 8. Konvertieren Array zu JSON
- 9. Konvertieren Array zu JSON
- 10. So konvertieren Sie SpannedString zu spannbar
- 11. So konvertieren Sie Meter zu Meilen
- 12. So konvertieren Sie Video-Pfad zu NSData
- 13. So konvertieren Sie Abfrage zu Django ORM
- 14. Newton JSON Json zu Liste konvertieren
- 15. senden Array JSON-Objekt mit FormData() zu MVC-Controller
- 16. So konvertieren Sie JSON-Array zur Verwendung in RecyclerView
- 17. So konvertieren Sie JSON-ähnliche Zeichenfolge in C# -Objekt
- 18. So konvertieren Sie meine JSON-Daten in Excel mit Android
- 19. So konvertieren Sie JSON-Array in Java String-Array
- 20. So konvertieren Sie JSON in Jquery-Array in MVC ASp.Net
- 21. Konvertieren IQueryable Generika zu JSON
- 22. So senden Sie mehrteilige formdata unter Verwendung von jquery
- 23. konvertieren Pymongo-Cursor zu JSON
- 24. Winkeltypeerror: Konvertieren Kreisstruktur zu JSON
- 25. Konvertieren einer Zeichenfolge zu JSON
- 26. Konvertieren Zeichenfolge Darstellung von JSON zu JSON
- 27. So senden Sie String-Daten mit formdata in ajax
- 28. Methoden zu konvertieren CSV zu einzigartiger JSON
- 29. Versuch HTML-Formular in JSON zu konvertieren, aber leer
- 30. mongodb Konvertieren Kreisstruktur zu JSON
Was wollen Sie tun? Hilft 'JSON.stringify()'? Vielleicht versuchst du etwas zu reparieren, das auf andere Weise gemacht werden könnte? – Justinas
Mögliches Duplikat von [JSON-Objekt in JSON-Zeichenfolge konvertieren] (http: // stackoverflow.com/questions/4162749/convert-js-object-zu-json-string) – Liam
Ist nicht doppelt, da ich ein Javascript-Objekt nicht zu einem json konvertieren möchte, noch möchte ich Jquery.serialize() verwenden –