Skip to content

Commit

Permalink
added property annotation to encode
Browse files Browse the repository at this point in the history
  • Loading branch information
Kemo committed Apr 2, 2017
1 parent 985077a commit 2921e5f
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 435 deletions.
68 changes: 66 additions & 2 deletions bin/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,79 @@ class DateTimeTest2 {
DateTime time;
}

class Person {
String name;
}

class Student extends Person {
String schule;
}

class Uni {
String name;
List<Student> students;
}

class Person2 {
@Property(name: "test")
String name;

@Property(ignore: true)
String test2;

String nulltest;
}

void main() {
hierarchicalLoggingEnabled = true;
Logger.root.level = Level.OFF;
Logger.root.onRecord.listen((LogRecord rec) {
print('${rec.level.name}: ${rec.time}: ${rec.message}');
});

final sample = decodeObj<DateTimeTest>(JSON.decode(json), DateTimeTest);
print(sample.obj.time.toString());
registerDateTransformer();

// final sample = decodeObj<DateTimeTest>(JSON.decode(json), DateTimeTest);
// print(sample.obj.time.toString());

// final person = new Person();
// person.name = "testname";
// var jso = encode(person);
// print(jso);

// final student = new Student();
// student
// ..name = "testname"
// ..schule = "testschule";
// jso = encode(student);
// print(jso);

// final uni = new Uni();
// uni.name = "hs-weingartne";
// uni.students = new List<Student>();
// uni.students.add(new Student()
// ..name = "testname1"
// ..schule = "testschule1");
// uni.students.add(new Student()
// ..name = "testname2"
// ..schule = "testschule2");
// uni.students.add(new Student()
// ..name = "testname3"
// ..schule = "testschule3");
// jso = encode(uni);
// print(jso);

// final p2 = new Person2();
// p2.name = "testname";
// jso = encode(p2);
// print(jso);

final p3 = new Person2();
p3.name = "testname";
p3.test2 = "test2";
var jso = encode(p3);
print(jso);

// final json =
// '{"persons": {"person1": {"name": "name"},"person2": {"name": "name2"},"person3": {"name": "name3"}}}';
// final sample = decodeTest<MapComplex>(json, MapComplex);
Expand Down
3 changes: 2 additions & 1 deletion lib/json_conv.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ part 'src/annotations.dart';
part 'src/decoding.dart';
part 'src/typeinfo.dart';
part 'src/transformer.dart';
part 'src/encoding.dart';

final Logger _logger = new Logger("json_conv");

Expand All @@ -31,7 +32,7 @@ class _DateTransformer extends TypeTransformer<DateTime> {
@override
String encode(DateTime value) {
if (value == null) return "null";
return value.toUtc().toIso8601String();
return value.toIso8601String();
}
}

Expand Down
Loading

0 comments on commit 2921e5f

Please sign in to comment.