jolt json中json mapping是什么
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,jolt json中json mapping是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。demo 解读有了第一篇的基础,操作
千家信息网最后更新 2025年02月05日jolt json中json mapping是什么
jolt json中json mapping是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
demo 解读
有了第一篇的基础,操作jolt已经不成问题,对于大部分json的mapping已经得心应手了,本片主要聚焦jolt除了json的mapping功能以外的其他功能。
模式的含义
modify-default-beta 修改-默认 当左手边不存在或是为空的时候进行转换。
modify-overwrite-beta 修改-覆盖 保留老数据,如果值相同会更新
数组(Array)相关 - List Functions
json input
{ "scores": [ 4, 2, 8, 7, 5 ]}
json spec
[ { "operation": "modify-overwrite-beta", "spec": { // 计算数组长度 "numScores": "=size(@(1,scores))", // 数组取头取尾 "firstScore": "=firstElement(@(1,scores))", "lastScore": "=lastElement(@(1,scores))", // 出不来值 "scoreAtMidPoint": "=elementAt(@(1,scores),2)", // 数组排序 "sortedScores": "=sort(@(1,scores))" } }]
json output
{ "scores" : [ 4, 2, 8, 7, 5 ], "numScores" : 5, "firstScore" : 4, "lastScore" : 5, "sortedScores" : [ 2, 4, 5, 7, 8 ]}
数学(Math)相关 - Math Functions
json input
{ "intData" : [ 2, 7, 5 ], "doubleData" : [ 0.25, 1.5, 1 ], "a" : 10, "b" : 5, "c" : 3, "negative" : "-1.0"}
json spec
[ { "operation": "modify-overwrite-beta", "spec": { // 数组 求和 "sumIntData": "=intSum(@(1,intData))", "sumLongData": "=intSum(@(1,intData))", // 和intSum一样,不同的是返回Java Long "sumDoubleData": "=doubleSum(@(1,doubleData))", // 数组 求平均 "avgIntData": "=avg(@(1,intData))", // 返回double类型 "avgDoubleData": "=avg(@(1,doubleData))", // 数组 排序 "sortedIntScores": "=sort(@(1,intData))", // 获取 最小值 "minAB": "=min(@(1,a),@(1,b))", // 获取 最大值 "maxAB": "=max(@(1,a),@(1,b))", // 获取 绝对值 "abs": "=abs(@(1,negative))", // 除法 "aDivB": "=divide(@(1,a),@(1,b))", "aDivC": "=divide(@(1,a),@(1,c))", // // 除法 四舍五入 "aDivCRounded4": "=divideAndRound(4,@(1,a),@(1,c))" } }]
json output
{ "intData" : [ 2, 7, 5 ], "doubleData" : [ 0.25, 1.5, 1 ], "a" : 10, "b" : 5, "c" : 3, "negative" : "-1.0", "sumIntData" : 14, "sumLongData" : 14, "sumDoubleData" : 2.75, "avgIntData" : 4.666666666666667, "avgDoubleData" : 0.9166666666666666, "sortedIntScores" : [ 2, 5, 7 ], "minAB" : 5, "maxAB" : 10, "abs" : 1.0, "aDivB" : 2.0, "aDivC" : 3.3333333333333335, "aDivCRounded4" : 3.3333}
类型转换 - Type Conversion
json input
{ "happy": "true", "meh": "meh", "answer": 42, "statistics" : [ { "id" : "A", "min" : "2.0", "max" : "10.0", "avg" : "7.9" }, { "min" : "6", "max" : "6", "avg" : "6" }, { "id" : "C" } ]}
json spec
[ { "operation": "modify-overwrite-beta", "spec": { // 字符串 转 布尔 "happy": "=toBoolean", // 如果原来不是布尔,转boolean可以设置false "meh": ["=toBoolean", false], // // 数字 转 字符串 "answer": "=toString", // 下面做一些类型转换练习,缺省数据给默认值 "statistics": { "*": { // 转成 整型 缺省设置0 "min": ["=toInteger", 0], // 转成 整型 缺省设置null "max": ["=toInteger", null], // 转成 浮点型 缺省设置null "avg": ["=toDouble", null], // id列缺省时 设置 UNKNOWN "_id": "UNKNOWN" } } } }]
json output
{ "happy" : true, "meh" : false, "answer" : "42", "statistics" : [ { "id" : "A", "min" : 2, "max" : 10, "avg" : 7.9 }, { "min" : 6, "max" : 6, "avg" : 6.0, "id" : "UNKNOWN" }, { "id" : "C", "min" : 0, "max" : null, "avg" : null } ]}
字符串连接 - String Concatenation
json input
{ "x": [ 3, 2, 1, "go" ], "small": "small", "BIG": "BIG", "people": [ { "firstName": "Bob", "lastName": "Smith", "address": { "state": null } }, { "firstName": "Sterling", "lastName": "Archer" } ]}
json spec
[ { //modify-default-beta模式的含义是,当左手边不存在或是为空的时候进行转换。 "operation": "modify-default-beta", "spec": { // @(1,x)将x数组中各个元素解析出来,再组合 // y通过join将x数组中元素通过 逗号 组合 // z通过join将x数组中元素通过 空格 组合 "y": "=join(',',@(1,x))", "z": "=join(' ',@(1,x))", // // 英文字符全部大写或小写转换 "small_toUpper": "=toUpper(@(1,small))", "BIG_toLower": "=toLower(@(1,BIG))", "people": { "*": { // 1表示,钻取第二层数据 "fullName": "=concat(@(1,firstName),' ',@(1,lastName))", // 后缀问好的意思是,实际有address这个字段时才会解析 "address?": { "state": "Texas" } } } } }]
json output
{ "x" : [ 3, 2, 1, "go" ], "small" : "small", "BIG" : "BIG", "people" : [ { "firstName" : "Bob", "lastName" : "Smith", "address" : { "state" : "Texas" }, "fullName" : "Bob Smith" }, { "firstName" : "Sterling", "lastName" : "Archer", "fullName" : "Sterling Archer" } ], "y" : "3,2,1,go", "z" : "3 2 1 go", "small_toUpper" : "SMALL", "BIG_toLower" : "big"}
关于jolt json中json mapping是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
数组
字符
问题
元素
字符串
数据
类型
组合
功能
含义
左手
布尔
时候
更多
模式
除法
帮助
排序
解答
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
java数据库连接池教程
网络安全小报手抄报图片视频
银行收银软件开发
内蒙古大数据时间频率同步服务器
oa安装数据库连不上
怎么在数据库中保存一个空字符串
华为防火墙配置服务器日志
osi服务器
数据库加工项目
司法厅开展网络安全培训
服务器集群需要什么配置
网络安全审查征求意见
把资源上传到服务器可以吗
小学信息技术网络安全周简报
国家电网软件开发资质要求
国外数据库除了彭博
2021网络安全热点
shell监控服务器内存
如何找2008服务器选项卡设置
国内软件开发商排名
深圳市创见网络技术有限公司
兼职软件开发教程
明日之后服务器闪退怎么办
永宁县软件开发公司报价多少
presto 支持数据库
网络安全手抄报主题名字
进一步优化网络安全管理机制
app借款软件开发
湖南软件开发专业有哪些
软件开发技能介绍