IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

json mal parsé


Sujet :

NodeJS

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut json mal parsé
    Bonjour,

    Apres avoir récupéré le contenu d'un body et de l'avoir parsé avec la méthode queryString.parse qui devrais normalement me retourner un tableau clé = valeur java

    de la sorte il me retourne

    { '{\n"id":"1",\n"firstName":"Valentin",\n"lastName":"Kuiuui"\n}\n': '' }


    je voudrais qu'il me retourne

    {"id":"1","firstName":"Valentin","lastName":"Kuiuui"}

    pour que je puisse aller dans ce tableau sans problème


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    var http = require('http');
    var url = require('url');
    var fs = require('fs');
    var helloModule = require('./helloModule.js');
    var userModule = require('./userModule.js');
    var querystring = require('querystring');
     
    //create a server object:
    http.createServer(function (request, response) {
      console.log("HTTP Query : ", request.method)
      console.log(url.parse(request.url).path)
       // Parse Http query param ?name=toto
       var queryParam = url.parse(request.url, true).query;
      var responseData = ""
      switch (url.parse(request.url).pathname) {
        case '/user' :
          switch (request.method) {
            case "POST" :
              body = '',
              reqInfo = {};
              // Hnadler when server get body data parts
              request.on('data', function (data) {
                body += data;
            });
              request.on('end', function () {
                console.log(querystring.parse(body))
                  var users = JSON.parse(body);
                  userModule.addUser(users)
              });
             response.writeHead(201, { 'Content-Type': 'application/json' });
             response.end()
            break;
            case "GET" :
             response.writeHead(200, { 'Content-Type': 'application/json' });
             response.write(JSON.stringify(userModule.getUsers()))}
             response.end()
            break;
    Je me suis inspiré de ce lien
    https://www.codexpedia.com/node-js/n...path-and-body/

    merci de votre aide

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Le comportement venait, me semble-t-il, de la fonction getUsers() du module userModule. On doit y regarder de plus près.

Discussions similaires

  1. comment binder un json envoyer par la méthode Post (jquery)
    Par thor76160 dans le forum ASP.NET MVC
    Réponses: 9
    Dernier message: 04/01/2012, 15h54
  2. WS .Net4 Json consommé par JQuery en cross domain
    Par Firedeal dans le forum Services Web
    Réponses: 13
    Dernier message: 18/09/2011, 17h18
  3. JSON mal formé
    Par natoine dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/03/2011, 08h28
  4. Réponses: 5
    Dernier message: 18/12/2010, 20h14
  5. réponse json mal formée ?
    Par Alexdezark dans le forum jQuery
    Réponses: 4
    Dernier message: 16/03/2010, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo