// 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); } }