如何将 json 编码为 flutter/dart 应用程序
How do encode the json a flutter/dart application
我是 Flutter 新手。我能够自学如何使用 JSON 文件。现在我希望能够使用按钮在正确和错误之间切换 bool。我不能在这里进一步。
我已经在 flutter.dev
上查看了 given 的文档
我不明白这部分以及如何应用它String json = jsonEncode(user);
代码:
class Daten {
final String name;
final bool toggle;
Daten(this.name, this.toggle);
Daten.fromJson(Map<String, dynamic> json) :
name = json['name'],
toggle = json['toggle'];
Map<String, dynamic> toJson() =>
{
'name': name,
'toggle' : toggle,
};
}
json:
[
{
"name": "Test1",
"toggle": "false"
},
...
]
main:
Future loadTextList() async {
String content = await rootBundle.loadString('load_json/data.json');
List collection = json.decode(content);
List<Daten> _daten = collection.map((json) => Daten.fromJson(json)).toList();
...
ListView.builder(
...
child: Text("Toggle"),
onPressed: (){
},
)
您可以将 JSON 粘贴到 https://app.quicktype.io/,它会生成正确的语法进行解析。
你的样本 JSON
[
{
"name": "Test1",
"toggle": false
},
{
"name": "Test2",
"toggle": true
}
]
class 并解析函数
要从您的 Daten 列表中获取 JSON 字符串,您可以使用函数 datenToJson
// To parse this JSON data, do
//
// final daten = datenFromJson(jsonString);
import 'dart:convert';
List<Daten> datenFromJson(String str) => new List<Daten>.from(json.decode(str).map((x) => Daten.fromJson(x)));
String datenToJson(List<Daten> data) => json.encode(new List<dynamic>.from(data.map((x) => x.toJson())));
class Daten {
String name;
bool toggle;
Daten({
this.name,
this.toggle,
});
factory Daten.fromJson(Map<String, dynamic> json) => new Daten(
name: json["name"],
toggle: json["toggle"],
);
Map<String, dynamic> toJson() => {
"name": name,
"toggle": toggle,
};
}
我是 Flutter 新手。我能够自学如何使用 JSON 文件。现在我希望能够使用按钮在正确和错误之间切换 bool。我不能在这里进一步。
我已经在 flutter.dev
上查看了 given 的文档我不明白这部分以及如何应用它String json = jsonEncode(user);
代码:
class Daten {
final String name;
final bool toggle;
Daten(this.name, this.toggle);
Daten.fromJson(Map<String, dynamic> json) :
name = json['name'],
toggle = json['toggle'];
Map<String, dynamic> toJson() =>
{
'name': name,
'toggle' : toggle,
};
}
json:
[
{
"name": "Test1",
"toggle": "false"
},
...
]
main:
Future loadTextList() async {
String content = await rootBundle.loadString('load_json/data.json');
List collection = json.decode(content);
List<Daten> _daten = collection.map((json) => Daten.fromJson(json)).toList();
...
ListView.builder(
...
child: Text("Toggle"),
onPressed: (){
},
)
您可以将 JSON 粘贴到 https://app.quicktype.io/,它会生成正确的语法进行解析。
你的样本 JSON
[
{
"name": "Test1",
"toggle": false
},
{
"name": "Test2",
"toggle": true
}
]
class 并解析函数
要从您的 Daten 列表中获取 JSON 字符串,您可以使用函数 datenToJson
// To parse this JSON data, do
//
// final daten = datenFromJson(jsonString);
import 'dart:convert';
List<Daten> datenFromJson(String str) => new List<Daten>.from(json.decode(str).map((x) => Daten.fromJson(x)));
String datenToJson(List<Daten> data) => json.encode(new List<dynamic>.from(data.map((x) => x.toJson())));
class Daten {
String name;
bool toggle;
Daten({
this.name,
this.toggle,
});
factory Daten.fromJson(Map<String, dynamic> json) => new Daten(
name: json["name"],
toggle: json["toggle"],
);
Map<String, dynamic> toJson() => {
"name": name,
"toggle": toggle,
};
}