En JS tengo una variable de cadena de la siguiente manera: Text JSON Data:
[{ "id" : "3", "parent" : "2", "text" : "Lack of Survey Information" },{ "id" : "4", "parent" : "3", "text" : "Lack of Surveyor Resource" },{ "id" : "5", "parent" : "3", "text" : "Land access unavailable" },{ "id" : "2", "parent" : "1", "text" : "Design Incorrect" },{ "id" : "1", "parent" : "16", "text" : "Abortive Work" },{ "id" : "6", "parent" : "1", "text" : "Wrong design info used in construction" },{ "id" : "16", "parent" : "#", "text" : "a" }]Esta es la salida del siguiente código:
console.log("Text JSON Data:"+strJSON) var objJSON=$.parseJSON(strJSON) var objJSON=JSON.parse(strJSON)Analiza usando $.parseJSON pero no analiza usando JSON.parse (obtengo un extraño error "Error de tipo no detectado: JSON.parse no es una función", aunque claramente lo es). Estoy usando Chrome. Se vuelve más extraño, cuando solo uso $.parseJSON con éxito y luego uso JSON.stringify en el objeto JSON devuelto, se bloquea y también arroja un error.
Lo extraño es que paso varias cadenas JSON a esta función y se analizan correctamente. Pensé que podría tener algo que ver con el símbolo '#' pero parece analizarse bien en JSFiddle. Sé que cuando uso VBA, a veces se activa un código de error para una línea de código cuando, de hecho, el error es causado por otra cosa. Me pregunto si eso es lo que está pasando aquí.
Lo que necesito entender es por qué esta cadena en particular está provocando los errores extraños.