flutter_channel_json
用来规范 Method Channel 数据传输的数据格式,通常结合 flutter_channel_event_bus 使用。
添加依赖
flutter pub add flutter_channel_json
怎么使用
Dart
import 'package:flutter_channel_json/flutter_channel_json.dart';
默认初始化
const json = FlutterChannelJson(
code: 300,
message: 'message',
success: false,
data: 2,
);
根据字典初始化
final json = FlutterChannelJson.fromJson({
'code': 300,
'message': 'message',
'data': 2,
'success': false,
});
根据 JSON 字符串初始化
final json = FlutterChannelJson.fromJsonString(
'{"code": 300, "message": "message", "data": 2, "success": false}',
);
将对象转换为字典
final json = const FlutterChannelJson(
code: 300,
message: 'message',
success: false,
data: 2,
).toJson();
将对象转换为字符串
final json = const FlutterChannelJson(
code: 300,
message: 'message',
success: false,
data: 2,
).toJsonString();
初始化成功类型
final json = FlutterChannelJson.success(2);
初始化失败类型
final json = FlutterChannelJson.failure('message');
Swift
默认初始化
let json = FlutterChannelJson(code: 300,
message: "message",
data: 2,
success: false)
初始化成功类型
let json = FlutterChannelJson(success: 2)
初始化失败类型
let json = FlutterChannelJson(failure: "message", code: 300)
根据字典初始化
let json = FlutterChannelJson<Int>(json: ["code": 300,
"message": "message",
"data": 2,
"success": false])
根据 JSON 字符串初始化
let json = try? FlutterChannelJson<Int>(jsonString: "{\"code\":300,\"message\":\"message\",\"data\":2,\"success\":false}")
对象转化为 JSON 字符串
let json = FlutterChannelJson(code: 300,
message: "message",
data: 2,
success: false)
let jsonString = json.toJsonString()
对象转换为字典
let json = FlutterChannelJson(code: 300,
message: "message",
data: 2,
success: false)
let jsonMap = json.toJson()
Kotlin
默认初始化
val json = FlutterChannelJson(code = 300, message = "message", data = 2, success = false)
初始化成功类型
val json = FlutterChannelJson(data = 2)
初始化失败类型
val json = FlutterChannelJson<Int>(message = "message")
根据 JSON 字符串初始化
val json = FlutterChannelJson(jsonString = "{\"code\":300,\"message\":\"message\",\"data\":2,\"success\":false}", Int::class.java)
根据字典初始化
val map: Map<String,Any> = mapOf("code" to 300, "message" to "message", "data" to 2, "success" to false)
val json = FlutterChannelJson<Int>(json = map)
对象转化为 JSON 字符串
val json = FlutterChannelJson(code = 300, message = "message", data = 2, success = false).toJsonString()
对象转换为字典
val json = FlutterChannelJson(code = 300, message = "message", data = 2, success = false)
val map = json.toJson()