如何解决YAML的Typescript类-是否可以保留属性顺序?
我已经定义了课程:
export class Item {
id: string;
name: string;
Items: Item[];
}
在我的代码中,我分配了以下属性:
let myItem: Item = new Item();
myItem.Items = [];
myItem.Name = "My Item";
myItem.Id = "12345"
这是一个示例方案,所以假设我无法更改分配值的顺序:)。
现在我使用“ js-yaml”库将YAML导出到该对象之外,我会得到什么:
Items: []
Name: My Item
Id: 12345
由于YAML应该是人类友好的可读格式,因此我想使属性具有有意义的顺序。我在寻找解决方案/关于疯狂解决方案的想法,但似乎没有一个对我有用:
- 向类添加装饰器,该类将“初始化”在构造函数中为null的字段
- 重写toJSON以正确的初始化顺序返回对象的副本(仅适用于JSON.stringify)
由于对象包含不同类型的多级子对象,因此我想避免使用.encode()方法,该方法将以正确的顺序返回一个新对象(然后,我需要对所有子对象执行相同的操作)。 / p>
我真的很喜欢toYAML()的想法,但我想没有什么比这更好的了。 :( 此外,我希望此功能易于维护,因为可能会有其他一些开发人员加入。:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。