I'm trying to parse JSON in a flutter. but I got an error. please help me if anyone knows the solution. I have loaded the JSON file from the assets folder successfully. but when I tried to parse it in LaguageModel. I have got an error. Please tell me a solution if anyone knows it.
JSON file:
languages.json:
{
"sq":{
"name":"Albanian",
"nativeName":"Shqip"
},
"am":{
"name":"Amharic",
"nativeName":"አማርኛ"
},
}
Jsonparse.dart:
Future<String> loadJsonData() async {
var jsonText = await rootBundle.loadString('assets/languages.json');
var data = json.decode(jsonText);
LanguageModel model = LanguageModel.fromJson(data);
return 'success';
}
@override
void initState() {
super.initState();
this.loadJsonData();
}
LanguageModel.dart
class LanguageModel {
final LanguageCode code;
LanguageModel({this.code});
factory LanguageModel.fromJson(Map<String, dynamic> json) {
return LanguageModel(code: LanguageCode.fromJson(json["code"]));
}
}
LanguageCode.dart
class LanguageCode {
String name;
String nativeName;
LanguageCode({this.name, this.nativeName});
factory LanguageCode.fromJson(Map<String, dynamic> json) {
return LanguageCode(name: json['name'], nativeName: json['nativeName']);
}
}
Error:
E/flutter (13381): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: NoSuchMethodError: The method '[]' was called on null.
E/flutter (13381): Receiver: null
E/flutter (13381): Tried calling: []("name")
E/flutter (13381): #0 Object.noSuchMethod (dart`enter code here`:core-patch/object_patch.dart:54:5)
E/flutter (13381): #1 new LanguageCode.fromJson (package:freebookshare/Screens/AddBookRequest.dart:124:35)
E/flutter (13381): #2 new LanguageModel.fromJson (package:freebookshare/Screens/AddBookRequest.dart:91:45)
E/flutter (13381): #3 _AddBookRequestState.loadJsonData (package:freebookshare/Screens/AddBookRequest.dart:22:41)
E/flutter (13381): <asynchronous suspension>
E/flutter (13381):