云日志服务 LTS
云日志服务 LTS
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 授权IAM用户使用云日志服务LTS
- 购买LTS资源包
- 日志管理
-
日志接入
- 日志接入概述
- 使用ICAgent插件采集日志
-
使用云服务接入LTS
- 云服务接入LTS概述
- 应用运维管理AOM接入LTS
- API网关APIG接入LTS
- Astro轻应用接入LTS
- 云堡垒机CBH接入LTS
- 内容分发网络CDN接入LTS
- 云防火墙CFW接入LTS
- 云审计服务CTS接入LTS
- 分布式缓存服务DCS接入LTS
- 文档数据库服务DDS接入LTS
- DDoS防护 AAD接入LTS
- 分布式消息服务Kafka版接入LTS
- 数据复制服务DRS接入LTS
- 数据仓库服务GaussDB(DWS)接入LTS
- 弹性负载均衡 ELB接入LTS
- 企业路由器ER接入LTS
- 函数工作流FunctionGraph接入LTS
- 云数据库GaussDB接入LTS
- 图引擎服务GES接入LTS
- 云数据库 TaurusDB接入LTS
- 云数据库GeminiDB接入LTS
- 云数据库GeminiDB Mongo接入LTS
- 云数据库GeminiDB Cassandra接入LTS
- 华为HiLens接入LTS
- 设备接入IoTDA接入LTS
- AI开发平台ModelArts接入LTS
- MapReduce服务MRS接入LTS
- 云数据库RDS for MySQL接入LTS
- 云数据库RDS for PostgreSQL接入LTS
- 云数据库RDS for SQLServer接入LTS
- 应用与数据集成平台ROMA Connect接入LTS
- 视频直播Live接入LTS
- 消息通知服务SMN接入LTS
- 安全云脑SecMaster接入LTS
- 对象存储服务OBS接入LTS(邀测)
- 虚拟私有云VPC接入LTS
- Web应用防火墙WAF接入LTS
- 使用API接入LTS
- 使用SDK接入LTS
- 跨IAM账号接入LTS
- 使用KAFKA协议上报日志到LTS
- 使用Flume采集器上报日志到LTS
- 使用匿名写入采集日志
- 自建中间件
- 日志搜索与分析(默认推荐)
- 日志搜索与分析(管道符方式-邀测)
- 日志可视化
- 日志告警
- 日志转储
- 日志消费与加工
- LTS配置中心管理
- 查看LTS审计事件
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
解析与更新JSON数据
本文介绍如何使用数据加工对包含JSON对象的日志进行解析与更新。
场景一:展开和提取JSON对象
日志中包含JSON对象时,您可以通过e_json函数展开和提取对象。
示例:指定字段名精确提取JSON对象值,例如展开data字段值中的第一层键值对。
- 原始日志
{ "data": {"k1": "v1", "k2": {"k3": "v3", "k4": "v4"}} }
- 加工规则
e_json("data", depth=1)
- 加工结果
{ "data": { "k1": "v1", "k2": { "k3": "v3", "k4": "v4" } }, "k1": "v1", "k2": { "k3": "v3", "k4": "v4" } }
场景二:提取JSON对象值
日志中包含JSON对象时,您可以通过dct_get函数提取JSON对象值。
例如,提取JSON对象中的键值对"k1":"v1",并将键名更改为key1。
- 原始日志
{ "data": {"k1":"v1","k2":"v2"} }
- 加工规则
e_set("key1", dct_get(v("data"), "k1"))
- 加工结果
{ "key1": "v1", "data": { "k1": "v1", "k2": "v2" } }
场景三:更新JSON对象值
日志中包含JSON对象时,您可以通过dct_update函数更新JSON对象值。
例如,修改JSON对象中k1的值。
- 原始日志
{ "data": { "k1": "k1", "k2": "v2" } }
- 加工规则
e_set("data", dct_update(v("data"), {"k1": "new_k1"}))
- 加工结果
{ "data": { "k1": "new_k1", "k2": "v2" } }
场景四:删除JSON对象值
日志中包含JSON对象时,您可以通过dct_delete函数删除JSON对象值。
例如,删除JSON对象中的键值对"k1":"v1"、"k2":"v2"。
- 原始日志
{ "data": {"k1":"v1","k2":"v2", "k3": "v3"} }
- 加工规则
e_set("data", dct_delete(v("data"), "k1", "k2"))
- 加工结果
data:{"k3": "v3"}
场景五:解析值为JSON对象
您可以使用json_parse函数将字符串解析为JSON对象。
例如,data字段值为字符串,您可以将其转换为JSON对象。
- 原始日志
{ "data": "pre{ \"k1\": \"v1\", \"k2\": \"v2\"}" }
- 加工规则
e_set("json_object", json_parse(op_slice(v("data"), 3, 28)))
- 加工结果
{ "data": "pre{ \"k1\": \"v1\", \"k2\": \"v2\"}", "json_object": { "k1": "v1", "k2": "v2" } }
父主题: 文本解析