跳到主要内容

数据格式化-YAML处理

YAML 字符串和 YAML Javascript 对象之间互相转换

问题背景

YAML 字符串和 YAML Javascript 对象之间互相转换

解决方案

YAML处理 节点可以在两种数据之间互相转换

示例

yaml-format

示例JSON

[{"id":"f231967.0251a68","type":"inject","z":"4dcd5b540cc77711","name":"YAML String","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"a\":1}","payloadType":"str","x":290,"y":200,"wires":[["a0110756.ecfa48"]]},{"id":"8f8f31b7.1f916","type":"debug","z":"4dcd5b540cc77711","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":770,"y":200,"wires":[]},{"id":"5138ba3.c972444","type":"inject","z":"4dcd5b540cc77711","name":"Object","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"a\":1, \"b\":[1,2,3]}","payloadType":"json","x":270,"y":320,"wires":[["2fa653cc.60d3dc"]]},{"id":"50f2f4c.4a6e60c","type":"debug","z":"4dcd5b540cc77711","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":610,"y":320,"wires":[]},{"id":"a0110756.ecfa48","type":"template","z":"4dcd5b540cc77711","name":"","field":"payload","fieldType":"msg","format":"yaml","syntax":"plain","template":"a: 1\nb:\n  - 1\n  - 2\n  - 3","output":"str","x":460,"y":200,"wires":[["104b80e2.51068f"]]},{"id":"2fa653cc.60d3dc","type":"yaml","z":"4dcd5b540cc77711","property":"payload","name":"","x":430,"y":320,"wires":[["50f2f4c.4a6e60c"]]},{"id":"104b80e2.51068f","type":"yaml","z":"4dcd5b540cc77711","property":"payload","name":"","x":610,"y":200,"wires":[["8f8f31b7.1f916"]]},{"id":"f71b9c4c9a412487","type":"comment","z":"4dcd5b540cc77711","name":"YAML 格式转 JSON 对象","info":"","x":350,"y":120,"wires":[]},{"id":"e59f349d23bd419c","type":"comment","z":"4dcd5b540cc77711","name":"JSON 对象 转 YAML","info":"","x":290,"y":280,"wires":[]}]

运行结果

在示例中,第一个流程注入以下 YAML 数据:

    a: 1
b:
- 1
- 2
- 3

然后,YAML 节点将其转换为等效的 JavaScript 对象。

第二个流程执行相反的操作,注入对象 { a: 1, b: [1,2,3] } 并将其转换为 YAML。

yaml-format-result