Ad Widget

Collapse

Preprocessamento - JavaScript - cannot read property 'startsWith' of undefined

Collapse
This topic has been answered.
X
X
 
  • Time
  • Show
Clear All
new posts
  • eduardohumel@gmail.com
    Junior Member
    • Sep 2022
    • 12

    #1

    Preprocessamento - JavaScript - cannot read property 'startsWith' of undefined

    Ola Gente

    Preciso de uma ajuda de voces pra entender qual é o erro. Estou coletando informações atravez do powershell e convertando para json.

    No item eu faço um preprocessamneto usando a opção javascript para ler o json é coletar todos os Valores que iniciam com G3.



    Script:

    const g3Values = [];
    for (var i = 0; i < value.length; i++) {
    const name = value[i].Name;
    if (name.startsWith('G3')) {
    g3Values.push(name);
    }
    }
    return g3Values;

    Click image for larger version

Name:	Captura de tela 2023-03-17 161918.png
Views:	372
Size:	20.2 KB
ID:	461298
    Exemplo json:

    [
    {
    "Name": "G3-382",
    "State": 2
    },
    {
    "Name": "G3-371",
    "State": 2
    }
    ]


    erro:

    Click image for larger version

Name:	Captura de tela 2023-03-17 161803.png
Views:	369
Size:	41.1 KB
ID:	461296
    TypeError: cannot read property 'startsWith' of undefined
    at [anon] (duktape.c:59385) internal
    at [anon] (function:6) preventsyield​ ​​
    Attached Files
  • Answer selected by [email protected] at 22-03-2023, 13:46.
    Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    Use o JSON.parse com seu código da primeira mensagem.

    Error in value.forEach(element => { not JSON.parse

    Comment


    • eduardohumel@gmail.com
      [email protected] commented
      Editing a comment
      Hamardaban, deu certo

      Obrigado
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #2
    No pré-processamento JS, "valor" é apenas string, não objeto.

    para processamento json como objeto e vice-versa, use JSON.parse () / JSON.stringify()​


    In JS preprocessing “value” is just string not object.
    https://www.zabbix.com/documentation...ing/javascript
    for json processing as object and vice versa use JSON.parse() / JSON.stringify()

    Last edited by Hamardaban; 18-03-2023, 14:07.

    Comment


    • eduardohumel@gmail.com
      [email protected] commented
      Editing a comment
      Hamardaban

      Tambem tentei fazer dessa maneira e deu erro:

      var value = JSON.parse(value);
      var g3Values = [];
      value.forEach(element => {
      if (element.Name.indexOf('G3') == 0) {
      g3Values.push(element.Name);
      }
      });
      return g3Values



      Preprocessing failed for: [.. {.. "Name": "G3-0003",.. "State": 2,.. "ComputerName": "SRV01"....
      1. Failed: SyntaxError: parse error (line 3)
  • Hamardaban
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • May 2019
    • 2713

    #3
    Use o JSON.parse com seu código da primeira mensagem.

    Error in value.forEach(element => { not JSON.parse

    Comment

Working...