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
1074浏览 • 1回复 待解决
自定义资源文件怎么读取?
2404浏览 • 1回复 待解决
鸿蒙如何读取resources目录下的文件
3497浏览 • 1回复 待解决
自定义json资源文件需要放在工程的哪个目录下?用什么方式读取内容?
2569浏览 • 2回复 待解决
如何在HarmonyOS NEXT的开发环境中配置并使用自定义的Gradle插件?
418浏览 • 0回复 待解决
HarmonyOS build-profile.json5文件中的自定义编译参数存储是怎么样的?
137浏览 • 1回复 待解决
json 如何转换成自定义的业务类对象
803浏览 • 1回复 待解决
HarmonyOS 使用自定义字体
246浏览 • 1回复 待解决
HarmonyOS 自定义接口如何使用?
158浏览 • 1回复 待解决
自定义弹窗如何嵌套使用
1690浏览 • 1回复 待解决
HarmonyOS 使用全局自定义弹窗
43浏览 • 1回复 待解决
HarmonyOS 自定义组件如何写自定义事件?
570浏览 • 1回复 待解决
HarmonyOS 我想读取一个json文件, 应该怎么去读取并解析?
495浏览 • 1回复 待解决
HarmonyOS 自定义弹窗dialog怎么设置依附于某个组件下面
38浏览 • 1回复 待解决
HarmonyOS 自定义View中展示PDF,并调用自定义View中的一些接口方法
211浏览 • 1回复 待解决
有没有自定义字体并使用该字体进行文本测量的示例?
1557浏览 • 1回复 待解决
HarmonyOS如何实现自定义dialog多次弹出并显示不同内容?
289浏览 • 1回复 待解决
HarmonyOS 使用混合开发,自定义的ArkTS组件,CAPI侧如何监听自定义组件的事件回调?
42浏览 • 1回复 待解决
ArkUI中如何使用自定义字体
833浏览 • 2回复 待解决
自定义组件onMeasureSize的使用
414浏览 • 1回复 待解决
HarmonyOS如何在自定义组件的自定义函数中获取当前的 NavPathStack
606浏览 • 1回复 待解决
自定义装饰器的使用问题
801浏览 • 1回复 待解决
json字符串与自定义class结构的转换
2128浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中动态下载并注册自定义字体?
72浏览 • 0回复 待解决
HarmonyOS 希望优化自定义弹窗的使用
250浏览 • 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")获取到数据。