HarmonyOS resources/profile下面自定义的json如何读取并使用?
我在resources/profile下面自定义了一个json文件config.json,并配置到了module.json5下面:
"metadata": [
{
"name": "com.bb.aa",
"resource": "$profile:config"
}
]
然后在代码中通过下面的方式获取到metadata。
然后 let resouce= metadata.resource; (此时打印resource的值为"$profile:config")
此时,我怎么解析并获取resource中的值呢?
或者,有没有更好的方式实现我的这种需求?(就是想在代码中读取一个配置文件)
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA |
bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION;
try {
bundleManager.getBundleInfoForSelf(bundleFlags).then((bundleInfo: bundleManager.BundleInfo) => {
hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(bundleInfo));
hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. MetaData: %{public}s', JSON.stringify(bundleInfo.appInfo.metadataArray));
let arr = bundleInfo.appInfo.metadataArray;
console.info("testTag arr is ", (arr instanceof Array));
hilog.info(0x0000, 'testTag', 'arr : %{public}s', JSON.stringify(arr.length));
for(let data of arr){
hilog.info(0x0000, 'testTag', 'MetaData name: %{public}s', JSON.stringify(data.moduleName));
for(let metadata of data.metadata){
let r = metadata.resource;
hilog.info(0x0000, 'testTag', 'MetaData resource: %{public}s', JSON.stringify(r));
}
}
}).catch((err: BusinessError) => {
hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message);
});
} catch (err) {
let message = (err as BusinessError).message;
hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message);
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
使用自定义任务读取build-profile.josn5
1633浏览 • 1回复 待解决
HarmonyOS 自定义@CustomDialog布局下面会有留白
598浏览 • 1回复 待解决
HarmonyOS 怎么设置自定义字体并获取自定义字体的宽度,高度
429浏览 • 1回复 待解决
自定义资源文件怎么读取?
2716浏览 • 1回复 待解决
如何在HarmonyOS NEXT的开发环境中配置并使用自定义的Gradle插件?
702浏览 • 0回复 待解决
鸿蒙如何读取resources目录下的文件
4120浏览 • 1回复 待解决
HarmonyOS build-profile.json5文件中的自定义编译参数存储是怎么样的?
770浏览 • 1回复 待解决
HarmonyOS 自定义接口如何使用?
432浏览 • 1回复 待解决
HarmonyOS 自定义组件的使用
422浏览 • 1回复 待解决
HarmonyOS List下面如果挂载自定义组件,不需要使用ListItem包装
546浏览 • 1回复 待解决
json 如何转换成自定义的业务类对象
1259浏览 • 1回复 待解决
自定义json资源文件需要放在工程的哪个目录下?用什么方式读取内容?
3443浏览 • 2回复 待解决
自定义弹窗如何嵌套使用
2149浏览 • 1回复 待解决
HarmonyOS TabContent 中使用自定义的文件,如何给自定义文件中传值
335浏览 • 1回复 待解决
HarmonyOS 使用自定义字体
699浏览 • 1回复 待解决
HarmonyOS 自定义View中展示PDF,并调用自定义View中的一些接口方法
800浏览 • 1回复 待解决
HarmonyOS 自定义弹窗dialog怎么设置依附于某个组件下面
229浏览 • 1回复 待解决
自定义组件onMeasureSize的使用
965浏览 • 1回复 待解决
Json 解析后的对象中的自定义方法问题
747浏览 • 1回复 待解决
HarmonyOS如何实现自定义dialog多次弹出并显示不同内容?
641浏览 • 1回复 待解决
HarmonyOS 自定义了一个组件,如何自定义事件?使其能在父组件使用其自定义事件
492浏览 • 1回复 待解决
有没有自定义字体并使用该字体进行文本测量的示例?
1793浏览 • 1回复 待解决
ArkUI中如何使用自定义字体
1582浏览 • 2回复 待解决
如何使用和加载自定义字体
2667浏览 • 1回复 待解决
json字符串与自定义class结构的转换
2452浏览 • 1回复 待解决
放到resources/base/element/string.json下面的话,可以使用resourceManager.getStringByNameSync("name")读取其他模块的json数据。
使用resourceManager.getRawFileContentSync,如果json文件不同名,也可以读取其他模块的json文件。
或者在rawfile文件夹下再新建一个文件夹,例如在公共模块rawfile下在新建一个common文件夹,在common文件夹里创建config.json。这样在其他模块下面也可以通过。resourceManager.getRawFileContentSync("common/configs.json")获取到数据。