Flutter Firebase 远程配置获取 JSON 作为地图

Flutter Firebase Remote Config Fetch JSON as Map

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

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

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

{title=Hello, World!}

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

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

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

应用程序崩溃,因为它无效 JSON。

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

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

应该是:

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

我还以为是Remote Config的问题

说这是你的 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