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
在 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