From 2041133491425a86cf2225e85f2c21aa62afd32b Mon Sep 17 00:00:00 2001 From: cjl_macbook Date: Tue, 7 Aug 2018 07:18:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86dart=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/index.html | 2 +- web/main.dart | 30 ++++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/web/index.html b/web/index.html index dd9d0a1..d42fff9 100644 --- a/web/index.html +++ b/web/index.html @@ -22,7 +22,7 @@
- +
diff --git a/web/main.dart b/web/main.dart index 92ee41f..50ffa91 100644 --- a/web/main.dart +++ b/web/main.dart @@ -4,17 +4,35 @@ import 'dart:html'; import 'package:json2dart_serialization/generator.dart'; void main() { - querySelector("#format").onClick.listen((event) { - TextAreaElement e = querySelector("#json"); - var string = e.value; - var pretty = formatJson(string); - e.value = pretty; + TextAreaElement jsonInput = querySelector("#json"); + jsonInput.onInput.listen((event) { + var string = jsonInput.value; + String pretty; + TextAreaElement result = querySelector("#result"); + try { + pretty = formatJson(string); + } on Exception { + print("格式化错误"); + result.value = "不是一个正确的json"; + return; + } var generator = Generator(string, 'test.dart'); var dartCode = generator.makeDartCode(); - TextAreaElement result = querySelector("#result"); + result.value = dartCode; }); + + ButtonElement formatButton = querySelector("#format"); + formatButton.onClick.listen((click) { + String pretty; + try { + pretty = formatJson(jsonInput.value); + } on Exception { + return; + } + jsonInput.value = pretty; + }); } String formatJson(String jsonString) {