Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

121
Vistas
(JS) Google Script Aplicación Búsqueda/Filtro por palabra clave

He estado perplejo en esto por un tiempo. Soy bastante nuevo en la aplicación de secuencias de comandos de Google y quería ver si hay una manera de hacer que esto suceda. Hasta ahora, he usado algunos métodos dentro de Google Sheet, pero parece que no funciona.

El siguiente código me da una salida de todos los datos, sin embargo, los datos que están anidados en data.custom_fields[x] tienen múltiples objetos separados por ",". Me gustaría poder filtrar las otras palabras clave y simplemente usar lo que esté dentro "display_value=" . El display_value= no siempre está en la misma área, por lo que debe realizar una búsqueda para ellos.

Supongo que aquí se usaría algún tipo de declaración If ...

Un ejemplo del objeto es:

 {type=x, resource_subtype=x, created_by={name=x, gid=x, resource_type=x}, display_value=Cool Value, description=x, enabled=x, resource_type=custom_field, gid=x, enum_options=[x.lang.Object;x, enum_value={x}, name=x}

También intenté split la función, pero no estoy seguro de cómo filtrar las palabras que necesito.

 function Users() { var options = { "headers" : { "Authorization": "API Key here" } } var response = UrlFetchApp.fetch("URL here", options); var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheets = ss.getSheets(); var sheet = ss.getSheetByName("Tab Name here"); // specific sheet name getSheetByName(""); alternatively use ss.getActiveSheet() var dataAll = JSON.parse(response.getContentText()); // var dataSet = dataAll.data; // "data" is the key containing the relevant objects var rows = [], data; for (i = 0; i < dataSet.length; i++) { data = dataSet[i]; rows.push([ data.gid, data.name, data.permalink_url, data.due_on, data.custom_fields[1], data.custom_fields[2], data.custom_fields[4], data.custom_fields[5], data.custom_fields[6], data.custom_fields[7], data.custom_fields[8], data.custom_fields[9], ]); //your JSON entities here } // [row to start on], [column to start on], [number of rows], [number of entities] dataRange = sheet.getRange(2, 1, rows.length, 12); dataRange.setValues(rows);

¡Gracias de antemano!

Imagen de ejemplo de datos JSON importados

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si desea extraer display_value, intente

 let myVal = myData.match(/(?<=display_value=)[^,]+/g)[0]

Supongo que myData podría ser data.custom_fields[5], así que reemplácelo por

 data.custom_fields[5].match(/(?<=display_value=)[^,]+/g)[0]
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aunque aparecen separados por , 's, así es como se muestran en el registro. Debido a que está utilizando JSON.parse , está recibiendo/convirtiendo en un Objeto, no en una cadena.

Dado que data.custom_fields es una matriz de objetos, puede acceder a los valores de propiedad/clave como: data.custom_fields[x].display_value .

Aprende más:

  • JSON.parse()
  • Acceso a las propiedades del objeto
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda