• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

108
Views
analizar objetos json separados por líneas en la tabla html

No puedo cambiar el formato json. El almacén de datos en una nueva línea. archivo json:

 {"ProgMode":"on","wait_h":"5","wait_m":"5","output":"1"} {"ProgMode":"off","wait_h":"10","wait_m":"10","output":"2"}

Uso el código siguiente pero sin corchetes ([]) en el archivo json, no funciona.

 var ReqJson = new XMLHttpRequest(); function response(){ if(this.readyState == 4 && this.status == 200){ var myObj = JSON.parse(this.responseText); const dbParam = JSON.stringify({table:"ProgramView",limit:20}); let text = "<table class='table my-0'>" for (let x in myObj) { text += '<tr><td>' + myObj[x].wait_h + ':' + myObj[x].wait_m + ':' + myObj[x].output + '</td></tr>'; } text += "</table>" document.getElementById("dynamic_table").innerHTML = text; } } function ProccessConfig(){ ReqJson.open("POST", "Programs.json", true); ReqJson.onreadystatechange = response; ReqJson.send() } ProccessConfig();

Entonces, ¿cómo puedo analizar json que está almacenado con nuevas líneas y sin comas ni corchetes?

about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puede dividir el texto de entrada en filas y luego 'JSON.parse' la fila única.

 let myObj = this.responseText.split('\n') .filter(line => line !== "") .map(JSON.parse);

Ejemplo basado en su cadena:

 let text = `{"ProgMode":"on","wait_h":"5","wait_m":"5","output":"1"} {"ProgMode":"off","wait_h":"10","wait_m":"10","output":"2"} ` let myObj = text.split('\n') .filter(line => line !== "") .map(JSON.parse); console.log(myObj)

about 3 years ago · Juan Pablo Isaza Report

0

no necesita dividir y mapear, es demasiado pesado para este caso, intente esto

 var myObj = JSON.parse(`[${this.responseText.replaceAll("}\n","},")}]`);

esto es un poco más complicado, pero mucho más confiable, ya que no usa ningún símbolo especial

 var myObj = JSON.parse(`[{${this.responseText.substring(1).replaceAll("{",",{")}]`);
about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error