Comment conserver le JSON dans une variable
Comment stocker des données en JSON comme une base de données,
de sorte que lorsqu'un utilisateur s'enregistre l'information doit être stockée dans une variable?
Exemple:
Mon formulaire HTML est constitué de champs de texte de saisie firstname, lastname. En cliquant sur le bouton enregistrer de la forme doit stocker les valeurs de prénom et de nom dans une variable.
Comment puis-je faire cela:
var txt = '{"employees":[' +
'{"firstName":"John","lastName":"Doe" },' +
'{"firstName":"Anna","lastName":"Smith" },' +
'{"firstName":"Peter","lastName":"Jones" }]}';
- vous pouvez utiliser
var json = JSON.parse(txt)
- Je pense que l'OP est en demandant l'autre sens
- Est-il une raison pour laquelle vous souhaitez utiliser JSON? Vous ne pouvez pas vraiment les traiter davantage puisque c'est juste du texte. Un simple objet ou un tableau serait plus approprié.
- je n'ai pas trop de connaissances sur JSON pouvez-vous s'il vous plaît dites-moi une bonne source @ArunPJohny
Vous devez vous connecter pour publier un commentaire.
Facilement utiliser Jquery
$("...").val()
. Sinon, votre code est plein d'erreurs de syntaxe, les erreurs d'exécution et utilise confusion de noms de variables (commejsonArray
). Si vous souhaitez initialiserjsonArray
correctement, alors il contient un normal JS tableau, pas de JSON.var jsonArray=[];
pour être cohérent avec le reste. Mais même alors, tous les noms (prénom et nom à l'identique) seront jetés ensemble dans ce tableau simple. Les champs de saisie, peut-être même pas trouvé si leurid
attributs n'avez pas les mêmes valeurs que leursname
attributs. L'OP ne mentionne que lesname
attributs.Sonne comme vous voulez aller de l'valeurs dans HTML à un JSON chaîne. En supposant que
<form>
ressemble à ceciVous pouvez utiliser
getElementsByName
deux fois, de se construire une Objet etJSON.stringify
ilDÉMO (ouvrez la console)
Vous pouvez ajouter des données à la réelle structure de données, en ajoutant à la
employees
tableau commeBien sûr, cela nécessite que le JSON a été analysée dans les dataobj en premier lieu. Il doit être sérialisé à nouveau si vous souhaitez l'envoyer par
GET
. Mais il peut êtrePOST
ed directement comme un objet de données!Bien sûr, vous pouvez aussi commencer avec un tableau vide, l'initialisation de dataobj comme
les uptdating commande entre en action.
Un très tard modifier ...
Juste au cas où il devrait y avoir de multiples prénom /nom des champs de saisie, puis la suivante va faire un "beaucoup mieux" de l'emploi (car il aura un coup d'oeil à tous les domaines et de recueillir uniquement celles où au moins l'un des noms est la série):
JS:
HTML:
Vous pouvez utiliser le
push
méthode de la matrice de pousser les données JSON. Ce qui est montré ici - ajout-pour-un-json-objet. Avant que les données doivent être soumis (disprocess.php
), stringify il.