如何在Ballerina中遍历JSON映射并获取键值对?
在Ballerina中遍历JSON映射获取键值对
当然可以,你可以通过类型转换将JSON值转为map<json>类型,再用foreach循环遍历键值对。以下是两种实用实现方式:
方式一:用check处理类型转换
适合确定输入JSON为映射结构的场景:
import ballerina/io; public function main() returns error? { json envs = { "user": "user", "pass": "password", "key": "key1" }; // 将JSON转换为map<json>,check自动处理转换失败的错误 map<json> envMap = check <map<json>>envs; // 遍历输出每个键值对 foreach string key, json value in envMap { io:println(`Key: ${key}, Value: ${value}`); } }
方式二:用match做类型安全判断
如果不确定输入JSON的类型,用match分支处理更稳妥:
import ballerina/io; public function main() { json envs = { "user": "user", "pass": "password", "key": "key1" }; match envs { map<json> envMap => { foreach string key, json value in envMap { io:println(`Key: ${key}, Value: ${value}`); } } _ => io:println("输入的JSON不是映射结构") } }
关键说明
- 遍历过程中可直接对
key和value进行业务逻辑处理,比如值类型转换、存储到其他结构等; - 类型转换是必要步骤,因为Ballerina的
json类型是通用类型,只有转为map<json>才能使用映射的遍历特性。
内容的提问来源于stack exchange,提问作者ThisaruG
相关产品推荐
相关产品推荐

