こんにちは、株式会社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