TransWikia.com

TypeError: Cannot read property 'parse' of undefined (línea 67, archivo "Código")

Stack Overflow en español Asked on January 18, 2021

Recibo el error

TypeError: Cannot read property ‘parse’ of undefined (línea 67, archivo "Código")

Al procesar un JSON, el contenido del JSON es:

{"TimeStamp":"XXX","Operador":"XXX","FirmanteNombre":"XXX","FirmanteNIF":"XXX","FirmanteCorreo":"XXX","FirmanteMovil":"XXX","FirmaLocalizador":"XXX","FirmaHashSMS":"XXX","FirmaHashMail":"XXX","FicheroHash":"XXX","FicheroName":"XXX"}

Compruebo que el JSON es legible y no contiene errores en formato:

Lectura JSON

El código para leer el JSON

var data = JSON.parse(json)
  var TimeStamp = data.TimeStamp
  var Firmante = data.FirmanteNombre
  var NIF = data.FirmanteNIF
  var OriginalMail = data.FirmanteCorreo
  var phone = data.FirmanteMovil
  var OriginalSMSKey = data.FirmaHashSMS
  var OriginalMailKey = data.FirmaHashMail
  var FileHash = data.FicheroHash
  var FileName = data.FicheroName

Debería de obtener los datos correctamente pero ni siquiera hace el "parse".

El JSON se obtiene de un fichero .json

    var rec = UrlFetchApp.fetch(url, {
          method: "GET",
          headers: {
            Authorization: 'Bearer '+token
          }, muteHttpExceptions: true})
  var json = rec.getContentText()

He confirmado con Logger.log(json) que ‘json’ es correcto y legible.

2 Answers

Lo más probable que que en alguna parte the tu proyecto hayas usado var JSON; o algo similar con lo que se "sobreescribió" el objeto global JSON como undefined y por ello tienes los errorers de que no se encontraron (cannot read property... of undefined)parse ni stringify.

Answered by Rubén on January 18, 2021

Si de algo puedo ayudar a alguien dejare esto aqui!!!!

Debes primero que todo almacenar tu json en una variable para poder parsearlo

si no estas seguro que lo tienes es un json usa stringify() para convertirlo a json y luego parseas con parse()

ejemplo

let json = JSON.stringify({"TimeStamp":"XXX","Operador":"XXX","FirmanteNombre":"XXX","FirmanteNIF":"XXX","FirmanteCorreo":"XXX","FirmanteMovil":"XXX","FirmaLocalizador":"XXX","FirmaHashSMS":"XXX","FirmaHashMail":"XXX","FicheroHash":"XXX","FicheroName":"XXX"});



let pars = JSON.parse(json);
console.log(pars.TimeStamp);

Es lo mismo si hicieras una llamada a una api parseas el resultado y listo!!!

Answered by Josh Martínez García on January 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP