OK, he podido hacer que lo siguiente funcione parcialmente
var Global_Wound_array =[{"WoundNumber":1,"BodySide":"Front","BodyPart":"Nose"},{"WoundNumber":2,"BodySide":"Left","BodyPart":"Head"},{"WoundNumber":3,"BodySide":"Back","BodyPart":"Ear"}] var Global_Wound_Counter = 1Puedo hacer que la página recorra y muestre las heridas individuales, pero necesito una forma de decir en una página en particular que uno de los valores, por ejemplo, en WoundNumber 2 BodyPart ha cambiado y actualizado la cadena sin afectar el resto.
page9200.setEventHandler("pageFinishing", function () { //getSelectedButtonLabel this is ok - specific on the system let Q1 = Q3_WoundNumber.getValue(); let Q2 = Q1_BodySide.getSelectedButtonLabel(); let Q3 = Q2_BodyPart.getSelectedButtonLabel(); for (var i = 0; i < Global_Wound_array.length; i++) { if (i+1 == Q1){ //create new temp variable array var Temp_Wound_obj2 = {"WoundNumber": Q1,"BodySide": Q2,"BodyPart":Q3} Global_Wound_array.push(Temp_Wound_obj2) } } });Además de poder llegar al final de la cadena para presentar un conjunto de valores en blanco para tener la opción de agregar una nueva herida. Cada vez que creo que tengo algo que parece funcionar, doy vueltas en círculos, cuando trato de actualizar el sistema al final, aparece un error que indica que los parámetros inválidos para la llamada RPC: la variable es incorrecta.
Parece que está pegando JSON en JSON, sin separador. Esto crea una estructura de datos desordenada y no estándar. Si escribió su JSON con una nueva línea al final, terminaría con un archivo JSONL , que es muy simple de procesar.
const jsonl = ` [{"WCount":1,"Side":"Centre","Part":"Ocipit","Type":"Other","SurroundingSkin":"Dermatitis","Height":"","Width":"","Depth":""}] [{"WCount":2,"Side":"Front","Part":"Neck","Type":"Diabetic foot wound","SurroundingSkin":"Healthy/intact","Height":"3","Width":"4","Depth":"5"}] `; const jsonItems = jsonl.trim().split("\n"); const lastJsonItem = jsonItems[jsonItems.length - 1]; const lastItem = JSON.parse(lastJsonItem); const lastWCount = lastItem[0].WCount; console.log(lastWCount); Si ya tiene un archivo sin saltos de línea... sería mejor insertarlos y corregir sus datos a JSONL. Esto es simple en su caso simplemente reemplazando ][ con ]\n[ (y asegurándose de que el archivo termine con una nueva línea también, para que la próxima escritura no se arruine), ya que no tiene anidamiento y (con suerte) no ][ en su texto, pero en general no es fácil: no conozco un analizador JSON que devuelva texto no consumido, por lo que probablemente implicaría escribir un analizador JSON. Mucho más fácil escribir datos correctamente en primer lugar.