Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

766
Views
Cómo validar si el parámetro del cuerpo en la cadena Express Nodejs se puede convertir a JSON usando express-validation y joi

Estoy creando una función que acepta una solicitud de publicación. La solicitud de publicación también contiene un objeto JSON convertido en una cadena. En el backend, necesito validar si esta cadena se puede analizar en JSON y solo luego continuar. Existe la función de enrutamiento:

 var express = require('express'); var validate = require('express-validator'); var hotelController = require('../controllers/hotel-controller'); var hotelValidation = require('../validations/hotel-validation'); var router = express.Router(); router.route('/create') .post(validate(hotelValidation.createHotel), hotelController.create);

Aquí está el objeto de validación:

 var Joi = require('joi'); module.exports = { createHotel: { body: { //NEED TO CHECK IF THE BELOW FIELD //CAN BE CONVERTED TO JSON FROM STRING data: Joi.string().required() } } };
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como se comentó en la pregunta, Joi.object() seguirá funcionando con una cadena JSON , Joi.array() también funciona.

Está documentado en la API.

Genera un objeto de esquema que coincide con un tipo de datos de objeto (así como cadenas JSON que se analizan en objetos).

Por ejemplo, dado el esquema:

 Joi.object().keys({ body: Joi.object().keys({ data: Joi.object(), array: Joi.array() }) })

Una carga útil válida puede ser:

 { body: { data: '{"json": true, "foo": "bar"}', array: '[1, 2, 3, "hello", 4, "world"]' } }

El ejemplo anterior se puede demostrar aquí , simplemente pegue el esquema y los datos del ejemplo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Virtual assistant