由於Flutter並沒有GSON、Jackson等相關工具,這樣獲取資料中進行序列化和反序列化的工作很麻煩需要手動寫程式碼,我在網上找了一個工具,使用起來還是比較方便的,而且經過本人實際檢測是完全可以實用的。如下圖所示:
這是JSON to Dart
把在資料平臺的API測試中返回的JSON程式碼例項複製後貼上到左邊輸入框裡即可,該工具會自動在右邊框中生成Dart原始碼,然後你再複製貼上到你的程式裡即可。
雖然Flutter也提供了自動生成Bean的json_serializable工具,但使用上沒有這個工具簡單,也不需要執行相關指令生成序列化模板。
不過大家需要注意,該工具生成的原始碼類命名都是一樣的規則,所以如果你需要呼叫的JSON型別比較多,需要手動更改成你需要的命名方式以免混淆。
此外這個工具在獲取資料上與json_serializa使用上還有點區別,假設你定義的是
Response response = await dio.get(dataURL,queryParameters:{"key":"YOURKEY","date":DateTime.now().month.toString()+"/"+DateTime.now().day.toString()});
Map<String, dynamic> map = jsonDecode(response.data);
那麼最後一行程式碼是錯誤的,需要改成:
Map<String, dynamic> map =response.data;
這個工具其實就是一個網站地址:https://ashamp.github.io/jsonToDartModel/
你如果有類似需求不妨試一下。
最新評論