!7 sclass JSONParser > DynModule { transient SimpleLiveValue output = new(S); transient SimpleLiveValue input = new(S); transient ReliableSingleThread rst = new(r parse); visualize { ret jLiveValueWordWrapTypeWriterTextArea(output); } start { dm_onTopInput(r updateMe); input.onChange(rst); } void update { input.set(dm_interestingString()); } void parse { output.set("Parsing..."); try { O o = jsonDecode(input!); output.set("Text relaxedly parses as JSON (" + shortClassName(o) + ")"); } catch e { output.set("Parse error. " + exceptionToStringShort(e)); } } }