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

243
Views
Javascript Filtrado de datos JSON

Ejemplo de datos JSON:

 { "assignments": [{ "date": "2022-04-01", "lName": "lastname", "uId": "12345", "uCode": "LName1", "fName": "FName1 ", "aName": "AsignmentName1", "aId": "998" }] }

Me gustaría filtrar los siguientes datos para obtener el contenido de un elemento específico en función de la búsqueda de un nombre de asignación.

Por ejemplo, en términos similares a SQL

 Select * FROM assignments WHERE `aName` = 'AssignmentName1'

Estoy seguro de que esto es simple, pero tengo problemas con los métodos para lograrlo.

Gracias

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Primero tienes que analizar la cadena JSON:

 const parsedJSON = JSON.parse(jsonString);

El objeto devuelto contiene todos los datos de su cadena JSON. Para acceder a la matriz de asignaciones, puede usar la notación de puntos.

 const assignments = parsedJSON.assignments;

Si no necesita admitir navegadores antiguos, ES6 tiene una función útil para encontrar el valor en un objeto. Use la función "buscar" y pase una función que devuelva verdadero para el elemento que está buscando:

 const selectedAssignment = assignments.find( (assignment)=> { return assignment.aName=="AssignmentName2"; });

Si no quiere usar ES6, puede usar un bucle for.

 var assignments = JSON.parse(jsonString).assignments; function getAssignmentWithName(name) { for (var i = 0; i < assignments.length; i++) { if (assignments[i].aName == name) { return assignments[i]; } } return false; } var selectedAssignment = getAssignmentWithName("AssignmentName1");
about 4 years ago · Juan Pablo Isaza Report

0

Soy nuevo aquí, pero si tiene acceso a JavaScript moderno, haría algo como:

 const data = JSON.parse('{"assignments":[{"date":"2022-04-01","lName":"lastname","uId":"12345","uCode":"LName1","fName":"FName1 ","aName":"AsignmentName1","aId":"998"}]}'; const yourMatch = data.assignments.find(c => c.aName === 'AssignmentName1');
  • Dado que data.assignments es una matriz, puede llamar a la función find() en ella. Esta función toma una función de 'búsqueda'/lambda como argumento.
  • Esta función de búsqueda básicamente toma un elemento y decide si es el que busca o no, es decir, devuelve un valor booleano.
  • En mi ejemplo, la función de flecha es c => c.aName === 'AssignmentName1' , que es más corta y más fácil de leer que una definición de función normal. (Puedes llamar a c como quieras, es más limpio de esta manera).
  • Puede intercambiar find() con filter() , si acepta varios resultados y no solo el primero.
about 4 years ago · Juan Pablo Isaza 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
Show me some job opportunities
There's an error!