JavaScript:
Làm việc với YAML
Cách thực hiện:
Chúng ta sẽ sử dụng thư viện js-yaml
phổ biến để phân tích YAML thành các đối tượng JavaScript và chuyển đổi các đối tượng JavaScript thành YAML.
- Đầu tiên, cài đặt thư viện:
npm install js-yaml
- Phân tích YAML sang JavaScript:
const yaml = require('js-yaml');
const fs = require('fs');
try {
const doc = yaml.load(fs.readFileSync('config.yml', 'utf8'));
console.log(doc);
} catch (e) {
console.error(e);
}
Đầu ra mẫu nếu config.yml
là:
version: 1
services:
- webapp
- database
Có thể trông như:
{ version: 1, services: [ 'webapp', 'database' ] }
- Chuyển đổi JavaScript sang YAML:
const yaml = require('js-yaml');
const fs = require('fs');
let data = {
title: "Ví dụ YAML",
description: "YAML dễ dàng"
};
try {
const ymlText = yaml.dump(data);
fs.writeFileSync('example.yml', ymlText, 'utf8');
} catch (e) {
console.error(e);
}
Điều này sẽ tạo ra một tệp example.yml
với:
title: Ví dụ YAML
description: 'YAML dễ dàng'
Tìm hiểu sâu hơn
YAML được bắt đầu vào năm 2001, được thiết kế để dễ đọc bởi con người và dễ viết bằng tay. JSON và XML là các lựa chọn thay thế nhưng không dễ dàng cho con người như vậy. Sự đơn giản của YAML có thể dẫn đến các vấn đề về an ninh nếu không được triển khai đúng cách, như giữ !!python/object/apply
bị vô hiệu hóa để ngăn chặn việc thực thi mã tùy ý. Các thư viện như js-yaml
cung cấp các tùy chọn để tùy chỉnh việc phân tích và chuyển đổi của YAML để thêm bảo mật và chức năng.
Xem thêm
- Tiêu chuẩn YAML 1.2: https://yaml.org/spec/1.2/spec.html
- Kho GitHub js-yaml: https://github.com/nodeca/js-yaml
- Bài viết về YAML trên Wikipedia để biết thêm thông tin nền: https://en.wikipedia.org/wiki/YAML
- So sánh JSON và YAML: https://phoenixnap.com/kb/yaml-vs-json