Flutter中的JSON ObjectMapper

kos*_*cki 0 json jsonserializer dart flutter objectmapper

我想在Flutter中从JSON序列化/反序列化对象.我知道我可以使用来自这给我字符串基于密钥的LinkedHashMap,但我更感兴趣的是ObjectMapper的方法,使我能够得到输入从反序列化反应.JsonDecoderjson.dart

我尝试使用Flutter的redstone mapper(链接)和可导出的库(链接) - 这两个我都无法正确编译.我相信这个问题与Dart的反射库有关.

如何使用Flutter实现工作的Object-Json Mapper?

示例代码:

class A {

  @Field()
  String b;
}

import 'package:redstone_mapper/mapper.dart';
import 'package:redstone_mapper/mapper_factory.dart';

bootstrapMapper();
var desObj = decodeJson(jsonString, A);
Run Code Online (Sandbox Code Playgroud)

错误:

Starting device daemon...
Running lib/main.dart on Nexus 5X...
Dart snapshot generator failed with exit code 254
Errors encountered while loading: 'dart:mirrors': error: line 1 pos 1: unexpected token 'Unhandled'
Run Code Online (Sandbox Code Playgroud)

或者这个:

Error detected in application source code:
error: Failed to load main script:
'package:redstone_mapper/mapper_factory.dart': error: line 4 pos 1: import of dart:mirrors with --enable-mirrors=false
import 'dart:mirrors';
Run Code Online (Sandbox Code Playgroud)

Har*_*sen 5

您尝试过的库的问题是它们使用dart:mirrors,但Flutter不支持.

您应该尝试使用代码库的库,例如built_value:https://github.com/google/built_value.dart