You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用紧凑且灵活的单字符串格式在两系统间传输扁平键值对?

问题:兼顾灵活性与低字节数的扁平键值对传输方案?

我有两个系统System A和System B,System A需要向System B发送复杂的扁平键值对数据。但System B是基础系统,仅能接收单个最长32KB的字符串,仅支持分割、截取、修剪等基本字符串操作,但可以存储用于数据解析的基础信息。

核心目标:找到既灵活又能最小化传输字节数的解决方案

示例数据(用JSON简化展示):

{
  "run": "T1021",
  "program": "02",
  "voltage": 12,
  "customer": "Cronus"
}

注意:数据结构不固定,会随运行任务新增字段。

已评估的方案

JSON

JSON是第一选择,它灵活且能准确表达数据,但System B没有JSON解析库,只能靠基本字符串操作解析,实现成本高。

固定位置拼接字符串

另一种极端方案是把所有值直接拼接成单个字符串,通过预存的位置规则确定对应字段。

比如示例数据可拼接为T10210212Cronus--------------,System B需要存储如下解析规则表:

字段编号长度起始位置字段名称
151run
228program
3210voltage
42013customer

通过这个规则表可以提取对应值,该方案字节数非常紧凑,但完全没有灵活性——新增或修改字段必须同步更新规则表,无法适配动态结构。

基础分隔符键值对

作为折中方案,我考虑用分隔符分割键值对。因为数据是扁平结构,不需要JSON的嵌套特性。

比如示例数据可表示为run:T1021 program:02 voltage:12 customer:Cronus,System B先按空格分割得到单个键值对,再按冒号拆分键和值。

该方案和JSON一样灵活,且比JSON减少了冗余字符,但远不如固定拼接紧凑,而且每次传输都重复发送键名,存在字节浪费。


提问

是否存在其他编码方式,既能保持对动态字段的灵活性,又能进一步减少传输字节数?

内容的提问来源于stack exchange,提问作者Nicholas Jackson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:25:30