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 éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 507
    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 Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    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