json_class
peiffer-innovations/json_class open-source repository details.
- 星标
- 2
- 复刻
- 5
- 最近推送(UTC)
- 2026年2月16日
- 项目状态
- 已归档
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
Table of Contents
json_class
Singular class that when extended can encode itself to a JSON compatible map or list. This also provides convenience functions to decode from a JSON compatible map or list to the actual data model.
Using the library
Add the repo to your Flutter pubspec.yaml file.
dependencies:
json_class: <<version>>
Then run...
flutter packages get
Example
import 'package:json_class/json_class.dart';
import 'package:meta/meta.dart';
@immutable
class Person extends JsonClass {
Person({
this.age,
this.minor,
this.firstName,
this.lastName,
});
final int age;
final bool minor;
final String firstName;
final String lastName;
static Person fromDynamic(dynamic map) {
// It's recommended to use dynamic over Map<String, dynamic> because it's
// compatible with other types of map-like results such as Firebase Realtime
// Database's values or the ones returned from sqlflite.
Person result;
if (map != null) {
result = Person(
age: JsonClass.parseInt(map['age']),
minor: JsonClass.parseBool(map['minor']),
firstName: map['firstName'],
lastName: map['lastName'],
);
}
return result;
}
static List<Person> fromDynamicList(Iterable<dynamic> list) {
List<Person> results;
if (list != null) {
results = [];
for (dynamic map in list) {
results.add(fromDynamic(map));
}
}
return results;
}
@override
Map<String, dynamic> toJson() => JsonClass.removeNull({
age: age,
minor: minor,
firstName: firstName,
lastName: lastName,
});
}
语言Dart
使用的依赖
依赖清单 5 项
- intl
>=0.18.0<1.0.0 - logging
^1.2.0 - meta
^1.12.0 - flutter_lints开发依赖
^5.0.0 - test开发依赖
^1.25.8
如何选择适合项目的代码仓?
先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
- 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
- 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
- 使用前在 GitHub 核对 README、许可证与 Issues。
来源与维护
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗