将JSON数据存储在DB中的一个字段中,并在Flatter应用程序中使用它
我有一些数据要存储在DB中,这是我存储在数据库中名为“详细信息”的字段中的数据: 因此,当我获取该表数据并将其编码为API时,它如下所示:将JSON数据存储在DB中的一个字段中,并在Flatter应用程序中使用它,json,flutter,dart,Json,Flutter,Dart,我有一些数据要存储在DB中,这是我存储在数据库中名为“详细信息”的字段中的数据: 因此,当我获取该表数据并将其编码为API时,它如下所示: . . . "id": 1, "details": " [\r\n {\r\n \"id\": 1,\r\n \"name\": \"name1\"\r\n },\r\n {\r\n\t\"id\": 1,\r\n \"name\": \"name1\"\r\n },\r\n {\r\n\t\"id\": 1,\
.
.
.
"id": 1,
"details": " [\r\n {\r\n \"id\": 1,\r\n \"name\": \"name1\"\r\n },\r\n {\r\n\t\"id\": 1,\r\n \"name\": \"name1\"\r\n },\r\n {\r\n\t\"id\": 1,\r\n \"name\": \"name1\"\r\n }\r\n]\r\n",
.
.
.
我不知道如何获取“细节”数据并在我的颤振应用程序中使用它。这是我到目前为止尝试过的模型,但不起作用:
import 'dart:convert';
class MyModel {
int _id;
DetailModel _details;
MyModel(game) {
_id = game['id'];
_details = DetailModel.fromJson(json.encode(game['details']));
}
int get id => _id;
DetailModel get details => _details;
}
class DetailModel {
List<DetailM> _details = [];
DetailModel.fromJson(Map<dynamic, dynamic> parsedJson) {
List<DetailM> temp = [];
for (int i = 0; i < parsedJson['details'].length; i++) {
DetailM detail = DetailM(parsedJson['details'][i]);
temp.add(detail);
}
_details = temp;
}
List<DetailM> get details => _details;
}
class DetailM {
int _id;
String _name;
DetailM(detail) {
_id = detail['id'];
_name = detail['name'];
}
int get id => _id;
String get name => _name;
}
导入'dart:convert';
类MyModel{
内部id;
DetailModel\u细节;
MyModel(游戏){
_id=游戏['id'];
_details=DetailModel.fromJson(json.encode(game['details']);
}
int get id=>\u id;
DetailModel get details=>\u details;
}
类细节模型{
列表_详细信息=[];
fromJson(Map parsedJson){
列表温度=[];
for(int i=0;i\u详细信息;
}
类详细信息{
内部id;
字符串\u名称;
DetailM(细节){
_id=详细信息['id'];
_名称=详细信息['name'];
}
int get id=>\u id;
字符串get name=>\u name;
}
我在这里得到的错误是:
Error: The argument type 'String' can't be assigned to the parameter type 'Map<dynamic, dynamic>'.
错误:无法将参数类型“String”分配给参数类型“Map”。
json.encode()返回字符串
试一试
将其作为map传递。fromJsonexpect
map
作为一个参数,但正如您所看到的game['details']
是一个字符串没有部分显示game['details']是一个字符串,但如果是,我将更新响应
Error: The argument type 'String' can't be assigned to the parameter type 'Map<dynamic, dynamic>'.
_details = DetailModel.fromJson(json.decode(game['details']));