json - 在 Dart 中将 Map 的所有键和值转换为 String

标签 json dictionary dart flutter

我遇到的问题与序列化和解码 JSON 有关。我正在尝试序列化 Protobuf 消息以将其与 redux persist 一起使用。

这是我调用来序列化我的对象的方法:

  Map<String, dynamic> toJSON(){

    return <String, dynamic>{
        'isLogged': this.isLogged,
        'isExpired': this.isExpired,
        'protoUser':
            this.protoUser == null ? null : this.protoUser.writeToJsonMap()),
        'error': this.error,
      }
  };

这是我用来读取持久化状态的方法:

  factory AuthState.fromJSON(Map<String, dynamic> json){
    new AuthState(
      isLogged: json['isLogged'],
      isExpired: json['isExpired'],
      error: json['error'],
      protoUser: json['protoUser'] == null
          ? null
          : new Auth.fromJson(json['protoUser'].toString()),
    );
  }

我遇到的问题是 writeToJsonMap 没有为 dart 编写有效的 JSON 映射。所以当读取序列化状态时,我得到这个错误:

E/flutter (24643): FormatException: Unexpected character (at character 2)
E/flutter (24643): {1: 200, 2: test1, 3: test2, 4: {1: 1, 3: Mike, 4: tester}}

还在 https://github.com/dart-lang/protobuf/issues/136 上询问过

最佳答案

目前有一个允许字段名称的拉取请求。 https://github.com/dart-lang/protobuf/pull/83

关于json - 在 Dart 中将 Map 的所有键和值转换为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52992675/

相关文章:

dart - Assets 图像作为卡片背景,在 Flutter 中顶部带有文本

C: 如何解析 Json 请求中的值?

javascript - 如何用 jquery 返回 php json 数组对象?

c++ - 如何使 map::find 操作不区分大小写?

android - Gridview 中的小部件在屏幕外时丢失状态

dart - Flutter中的弧形渐变?

java - 带有json的Spring rest junit帖子

javascript - 如何在node js中从json结果中获取键值

swift - 使简单元组符合 Hashable,因此可以是 Dictionary Key

haskell - 如何将 map 与从 getLine 获取的字符串一起使用?[Haskell]