【发布时间】:2021-01-13 14:52:25
【问题描述】:
我有一个嵌套的 Tuple2 数组,我正在寻找一种快速而优雅的方法来序列化/反序列化 dart 中的嵌套 Tuple2 数组,这是结构:List<List<Tuple2<String,String>>>
[
[
[atd, OK],
[atkw0, ?],
[atsp0, OK],
[ate0, OK],
[ati, ELM327v15d],
[ath1, OK],
[ats0, OK],
[atl0, OK],
[atat1, OK],
[0100, 7E9124100FFFFC012],
[0120, 7E9124120E01FE01E],
[0140, 7E91241406FECC078],
[0160, 7E912416000000000],
[0180, 7E9124180FFFFFFFF],
[01A0, 7E91241A0FFFFFFFF],
[01C0, NODATA],
[0902, 7E98449020031004300340048004A00570043003500300043004C003100320031003200350033],
[atdp, ISO15765���4(CAN11/250)]],
[
[ate0, OK],
[ath0, OK],
[atal, ?],
[ati, ELM327v15d],
[atl0, OK],
[ats0, OK],
[atat1, OK],
[atcra7E9, ?],
[0100, 4100FFFFC012],
[0120, 4120E01FE01E],
[0140, 41406FECC078],
[0160, 416000000000],
[0180, 4180FFFFFFFF],
[01A0, 41A0FFFFFFFF],
[01C0, NODATA],
[0900, 490040400000],
[0902, 49020031004300340048004A00570043003500300043004C003100320031003200350033]
],
[
[ate0, OK],
[ath0, OK],
[atal, ?],
[ati, ELM327v15d],
[atl0, OK],
[ats0, OK],
[atat1, OK],
[atcra7E9, ?],
[0100, 4100FFFFC012],
[0120, 4120E01FE01E],
[0140, 41406FECC078],
[0160, 416000000000],
[0180, 4180FFFFFFFF],
[01A0, 41A0FFFFFFFF],
[01C0, NODATA],
[0900, 490040400000],
[0902, 49020031004300340048004A00570043003500300043004C003100320031003200350033]
],
[
[atdp, ISO15765���4(CAN11/250)]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D]
],
[
[010D, 410D6C],
[010C, 410C3D8D],
[01A6, 41A6072B]
],
【问题讨论】:
-
这些是什么数据类型?
-
Tuple2 内部是字符串
-
如果所有的值都是Dart可以识别的类型,你可以使用
jsonEncode()或者jsonDecode(),你可以阅读更多关于它的内容here。 -
我觉得最优雅的方式是使用json_serializable包,需要build_runner生成代码。