Analyser Tableau d'objets JSON en NodeJS
Je me demande comment puis-je analyser Tableau d'objets JSON en NodeJS?
Je veux poster tableau JSON pour le serveur, et être en mesure d'utiliser le tableau reçu comme un regualar tableau JavaScript.
Merci d'avance.
C'est ma partie front-end que je suis la conversion de Tableau à l'aide de la Chaîne stringify fonction
document.getElementById("sendJson").addEventListener("click", function () {
$.post("/echo", JSON.stringify(QuestionsArray), function (data) {
alert(data);
});
})
Ce ma partie back-end que je suis en train de convertir le Tableau de l'objet JSON à la Matrice
app.post('/echo', function (req, res) {
var Array = JSON.parse(JSON.stringify(req.toString()));
res.end(Array[0]["QuestionText"].toString());
});
Ce Tableau que je suis en train de les envoyer au serveur:
[
{
"QuestionText":"What is your Name",
"QuestionType":1
},
{
"QuestionText":"Where are you from",
"QuestionType":2,
"ChoiceList":[
"US",
"UK"
]
},
{
"QuestionText":"Are you married",
"QuestionType":3,
"ChoiceList":[
"Yes",
"No"
]
}
]
Si vous êtes en train d'envoyer un stringified array (pourquoi voudriez-vous faire en premier lieu), pourquoi avez-vous stringify sur le serveur de nouveau?
Sans stringify en NodeJS partie-je obtenir de l'exception. s1.postimg.org/v2urhx0kf/Capture.png
Vous avez besoin d'utiliser bodyparser middleware et juste après, le tableau sans stringifying.
S'il vous plaît Aider l'homme, je suis coincé pendant des jours sur ce.
Sans stringify en NodeJS partie-je obtenir de l'exception. s1.postimg.org/v2urhx0kf/Capture.png
Vous avez besoin d'utiliser bodyparser middleware et juste après, le tableau sans stringifying.
S'il vous plaît Aider l'homme, je suis coincé pendant des jours sur ce.
req.body
pourrait fonctionner, et de supprimer plus de la complexité de l'analyse et la stringifyingOriginalL'auteur Apha | 2015-02-24
Vous devez vous connecter pour publier un commentaire.
Dans votre
app.js
:Vous pouvez simplement utiliser
req.body
pour obtenir les valeurs envoyées:En front-end, n'en fais pas stringifying:
Vous êtes les bienvenus!
merci beaucoup. Je me doutais bien qu'il avait quelque chose à voir avec la bodyParser. Mais n'aurait pas trouvé ça dans une semaine
OriginalL'auteur Vsevolod Goloviznin
Je vais essayer de vous l'expliquer. Tout d'abord, vous créer une chaîne json sur le client.
Puis sur le serveur, vous faites la même chose:
Ensuite, vous analysez le double stringifyed chaîne json à l'objet javascript:
Alors maintenant, vous avez réellement à l'analyser en deux fois :). Si vous venez de stringify sur le serveur comme vous êtes maintenant, et il suffit d'appeler:
Vous obtiendrez un objet javascript que vous pouvez accéder comme ceci:
Jetez un oeil à cette jsFiddle et ouvrez vos outils de développement. Regardez la console lorsqu'elle s'exécute et vous verrez où est le problème: exemple
OriginalL'auteur cfs
Vous pouvez effectivement envoyer le JSON directement au serveur.
Et dans node.js, utilisez
bodyParser.json
pour le récupérer.Par le chemin, ne pas utiliser de
Array
comme nom de variable, carArray
représentent laArray
classe utilisé par JavaScript et votre code a écrasé.OriginalL'auteur Alex Lau