2016-07-24 2 views
0

У меня есть следующие:Передача объекта JSON в запросе HTTP

файл маршрута "prontuarios.js":

 module.exports = function(app){   
     getProntuarios = function(request, response, next){ 
      var sqlCustom = request.query; 
      var connection = app.infra.connectionFactory(); 
      var prontuariosDAO = new app.infra.ProntuariosDAO(connection); 
      prontuariosDAO.lista(sqlCustom, function(erros, resultados){    
       if(erros){ 
        return next(erros); 
       } 
       response.format({ 
        json: function(){ 
         response.json(resultados); 
        } 
       }); 
      }); 
      connection.end();  
     } 

     app.route('/v1/prontuarios') 
      .get(getProntuarios); 
... 

и DAO файл "ProntuariosDAO.js"

... 
ProntuariosDAO.prototype.lista = function(sqlCustom, callback){ 
    var _sqlCustom; 
    console.log(`sqlCustom ${sqlCustom}`);  
    if (sqlCustom){ 
     _sqlCustom = sqlCustom; 
    } 
... 

Когда Я вызываю функцию prontuariosDAO.lista, я хочу передать параметр «sqlCustom», но проблема заключается в том, что «sqlCustom» должен быть объектом JSON в функции ProntuariosDAO.prototype.lista. Однако это не происходит, параметр sqlCustom уподобиться строки вроде:

{ 
    limit: '10', 
    offset: '2', 
    orderBy: '{"field":"nome","type":"desc"}', 
    whereAnd: 
     [ 
     '{"field":"id","operator":"<","value":"300"}', 
     '{"field":"nome","operator":"like","value":"jo%"}' 
     ] 
} 

Я попытался с помощью функции JSON.parse, но не работали правильно причиной его разбора orderBy и whereAnd как строку.

Это способ преобразования этой строки в JSON? Правильно ли передаю параметр HTTP?

ответ

0

Похоже, вам нужно будет применить JSON.parse рекурсивно, чтобы получить данные возвращаются к вам:

data = { 
    limit: '10', 
    offset: '2', 
    orderBy: '{"field":"nome","type":"desc"}', 
    whereAnd: 
     [ 
     '{"field":"id","operator":"<","value":"300"}', 
     '{"field":"nome","operator":"like","value":"jo%"}' 
     ] 
} 
JSON.parse(data.orderBy) 
Смежные вопросы