如何将传感器原始JSON转换为含TELEMATICS嵌套字段的指定结构
结构转换实现方案
你原代码的问题在于:将TELEMATICS对象和其他基础字段拆成了两个独立对象,没有合并到data数组的同一个元素内,同时字段重命名、类型转换的逻辑也缺失,多次无意义的JSON序列化/反序列化操作也增加了复杂度。直接基于原始对象构造目标结构即可,代码如下:
const transformPayload = (origin) => { return { data: [ { TELEMATICS: { QUALITY: origin.QUALITY, TEMPERATURE: origin.TEMPERATURE }, SOURCE_ID: origin.SOURCE_ID.toString(), // 按要求转为字符串类型 SENSOR_NAME: origin.SENSOR_NAME, SENSOR__DATETIME: origin.SENSOR_DATE // 对应原字段重命名 } ], NEXT_OFFSET: origin.NEXT_OFFSET } } // 调用示例,payload为你的原始输入对象 const result = transformPayload(payload) // 若需要输出格式化JSON字符串 console.log(JSON.stringify(result, null, 2))
运行上述代码输出的结构完全匹配你需要的目标格式。
内容的提问来源于stack exchange,提问作者Nikita Alekseev
相关产品推荐
相关产品推荐

