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

119
Views
(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 answers
Answer question

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 Report

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 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!