You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/jsonexample/lib/dart_convert/converted_complex_object.dart

53 lines
1.7 KiB

// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:jsonexample/dart_convert/converted_simple_object.dart';
class ConvertedComplexObject {
const ConvertedComplexObject({
this.aString,
this.anInt,
this.aDouble,
this.anObject,
this.aListOfStrings,
this.aListOfInts,
this.aListOfDoubles,
this.aListOfObjects,
});
final String aString;
final int anInt;
final double aDouble;
final ConvertedSimpleObject anObject;
final List<String> aListOfStrings;
final List<int> aListOfInts;
final List<double> aListOfDoubles;
final List<ConvertedSimpleObject> aListOfObjects;
factory ConvertedComplexObject.fromJson(Map<String, dynamic> json) {
if (json == null) return null;
return ConvertedComplexObject(
aString: json['aString'],
anInt: json['anInt'],
aDouble: json['aDouble'],
anObject: json['anObject'] != null
? ConvertedSimpleObject.fromJson(json['anObject'])
: null,
aListOfStrings: json['aListOfStrings'] != null
? List<String>.from(json['aListOfStrings'])
: null,
aListOfInts: json['aListOfInts'] != null
? List<int>.from(json['aListOfInts'])
: null,
aListOfDoubles: json['aListOfDoubles'] != null
? List<double>.from(json['aListOfDoubles'])
: null,
aListOfObjects: json['aListOfObjects'] != null
? List<ConvertedSimpleObject>.from(json['aListOfObjects']
.map((o) => ConvertedSimpleObject.fromJson(o)))
: null);
}
}