【问题标题】:Flutter Firebase Remote Config Fetch JSON as MapFlutter Firebase 远程配置获取 JSON 作为地图
【发布时间】:2021-01-05 19:08:26
【问题描述】:

在 Firebase 远程配置中,我有一个名为 test 的有效 json 字段:

{
    "title": "Hello, World!"
}

在我调用的应用程序中 jsonDecode(config.getString('test')) 它不起作用,因为 config.getString('test') 吐出:

{title=Hello, World!}

我在配置上尝试了所有可能的方法:

jsonDecode(config.getAll()['test'].asString());

jsonDecode(config.getValue('test').asString())

应用程序崩溃,因为它不是有效的 JSON。

【问题讨论】:

  • jsonDecode(config.getString('test'))["data"]["title"]
  • 不,jsonDecode 会抛出异常,因为 getString 返回那种奇怪的类似 Kotlin 的格式

标签: flutter firebase-remote-config


【解决方案1】:

所以远程配置值很好,但是在应用程序中我为test 设置了错误的默认值,它被获取了:

const defaultValue = {
    "title": "Hello, World!",
}
config.setDefaults({
    'test': defaultValue,
});

它应该是:

config.setDefaults({
    'test': json.encode(defaultValue),
});

我以为是远程配置的错

【讨论】:

    【解决方案2】:

    说这是你的RemoteConfig 地图:

    dummy
      {
        "foo": true,
        "bar": 100
      }
    

    这是检索值的方法:

    var rawData = remoteConfig.getAll()['dummy'];
    var map = jsonDecode(rawData?.asString() ?? yourDefaultValues);
    bool foo = map['foo']; // true
    int bar = map['bar']; // 100
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多