【Flutter】freezedで大文字のField名のJSONをパースする方法

こんにちは、株式会社Pentagonでエンジニアをしている石渡港です。
https://pentagon.tokyo
今日は、「freezedで大文字のField名のJSONをパースする方法」について学んだので簡単にまとめたいと思います。

目次

■この記事を読むとできること

freezedで大文字のField名のときにパースできるようになります。

{
    "HogeValue": "hoge",
}

■実装例 @JsonSerializable(fieldRename: FieldRename.pascal)↑を指定することで大文字に対応できます。

import 'package:freezed_annotation/freezed_annotation.dart';

part 'hoge.freezed.dart';
part 'hoge.g.dart';

@freezed
abstract class Hoge with _$Hoge {
 @JsonSerializable(fieldRename: FieldRename.pascal) // パスカルケースに対応
 const factory Hoge({
   String HogeValue,
 }) = _Hoge;

 factory Hoge.fromJson(Map<String, dynamic> json) =>
     _$HogeFromJson(json);
}

ちなみに、下記の様に命名規則の名前があるそうです。

パスカルケース: 大文字始まりで単語ごとに大文字で区切る → HogeValue
キャメルケース: 小文字始まりで単語ごとに大文字で区切る → hogeValue
スネークケース: 単語ごとにアンダーバーで区切る → hoge_value
ケバブケース:  単語ごとにアンダーバーで区切る → hoge-value 

■参考

https://zenn.dev/yamatatsu10969/articles/c4a5f05cc38806

採用情報はこちら
目次