Tengo un objeto que proviene de la API de terceros. y es en la forma como esta:
"{ "type": "object", "properties": { "hostUrl": { "type": "string", "description": "hostUrl", }, }, }"
debido a las comillas dobles al principio y al final, recibo un error y json parse tampoco se elimina, así que tenga la amabilidad de decirme cómo eliminar esta comilla doble que ha envuelto mi objeto dentro
prueba esto
const jsonStr = '"{ "type": "object", "properties": { "hostUrl": { "type": "string", "description": "hostUrl", }, }, }"'; var json = jsonStr .substring(1, jsonStr.length - 1) .replaceAll("},", "}") .replaceAll(" ", "") .replaceAll(",}", "}");
json
{ "type": "object", "properties": { "hostUrl": { "type": "string", "description": "hostUrl" } } }
//Prueba esto
let obj = {key:"{'name':'bhautik','age':24}"} let a = obj.key console.log(a) //it will log: "{'name':'bhautik','age':24}" a = a.replaceAll('\'', "\"") console.log(JSON.parse(a)) output: [object Object] { age: 24, name: "bhautik" } if still not work then try this let obj = {key:"{'name':'bhautik','age':24}"} let a = obj.key console.log(a) //it will log: "{'name':'bhautik','age':24}" a = a.replaceAll('\'', "\"") a = JSON.stringify(a) console.log(JSON.parse(a)) output: [object Object] { age: 24, name: "bhautik" }
Un objeto JSON en cadena siempre debe contener el objeto entre comillas simples '
. El tuyo está entre comillas dobles "
.
Dado que está recibiendo su respuesta JSON en un formato inaceptable y no puede tomar eso y analizarlo directamente, agregue una comilla simple '
a la primera y última respuesta para que sea válida. Eso es,
si la respuesta que obtienes es
"{ "type": "object", "properties": { "hostUrl": { "type": "string", "description": "hostUrl" } } }"
agregar comillas simples lo hace
'"{ "type": "object", "properties": { "hostUrl": { "type": "string", "description": "hostUrl" } } }"'
Dado que ahora su objeto es una cadena válida, use el método de subcadena y elimine las comillas dobles colocadas incorrectamente para obtener un valor de cadena JSON válido.
Código de la siguiente manera:
let obj = '"{ "type": "object", "properties": {"hostUrl": { "type": "string", "description": "hostUrl" } }}"'; obj = obj.substring(1, obj.length-1); console.log(JSON.parse(obj));