Last updated:
0 purchases
json object mapper
json_object_mapper #
A simple and easy way to map Objects from JSON and to Map with support for Dart Native and Dart Web.
Main features:
Works with simple Objects: no method implementation needed.
Compatible with Web (JS) and Native (VM) platforms.
No @annotations or code generation.
Only uses Mirrors if it's available in the platform (transparent load).
JSONTransformer
You can use simple and easy JSONTransformer patterns to transform a JSON tree.
This helps to integrate JSON trees of 3rd part with your code, UI and Entities.
Usage #
JSONObject #
A simple JSON Object mapping example:
import 'package:json_object_mapper/json_object_mapper.dart';
class User extends JSONObject {
String username ;
String email ;
User.fromFields(this.username, this.email);
User.fromJson(String json) {
initializeFromJson(json) ;
}
@override
String toString() {
return 'User{username: $username, email: $email}' ;
}
}
main() {
User user1 = User.fromFields("joe", "[email protected]") ;
print("User[1]: $user1");
// User[1]: User{username: joe, email: [email protected]}
print(user1.toJson());
// {"username":"joe","email":"[email protected]"}
User user2 = User.fromJson( '{"username":"joe2","email":"[email protected]"}' ) ;
print("User[2]: $user2");
// User[2]: User{username: joe2, email: [email protected]}
print(user2.toJson());
// {"username":"joe2","email":"[email protected]"}
}
copied to clipboard
JSONTransformer #
A simple JSON tree transformation example:
var json = {
'result': [
{'id': 1, 'name': 'a', 'group': 'x'},
{'id': 2, 'name': 'b', 'group': 'y'},
{'id': 3, 'name': 'c', 'group': 'z'},
]
};
var transformer = JSONTransformer.parse('{result}.mapEntry(name,id).asMap()');
var json2 = transformer.transform(json);
/// json2 = {'a': 1, 'b': 2, 'c': 3}
copied to clipboard
JSONTransformer Operations #
{"$key"}: converts node to a $key value of node as Map.
[$index]: converts node to a $index value of node as List.
asMap(): converts node to a Map.
asList(): converts node to a List.
asString($delimiter): converts node to a String, using optional $delimiter for node List.
mapEntry($key,$value): converts node or node.entries to a MapEntry($key, $value).
split($delimiter,$limit?): converts node or node.entries splitting into a List of parts, using $delimiter as RegExp and optional $limit.
uc(): converts node or node.entries to an Upper Case String.
lc(): converts node or node.entries to a Lower Case String.
trim(): converts node or node.entries to a Trimmed String.
encodeJson($withIdent): converts node encoding to a JSON String, using optional $withIdent as bool.
decodeJson(): converts node or node.entries decoding to a JSON tree.
Features and bugs #
Please file feature requests and bugs at the issue tracker.
Author #
Graciliano M. Passos: gmpassos@GitHub.
License #
Dart free & open-source license.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.