ES6(ECMAScript 6)中有一个新关键字'class',我的课就是这样:
ApplicationWindow {
id:aplWin
visible: true
minimumWidth: 1280
minimumHeight: 1024
StackView {
id: stackView
anchors.fill: parent
initialItem: SignInWin {}
focus: true // <--- HERE!
}
}
Page {
id: root
width: parent.width + 500
height: parent.height
focus: true // <--- AND HERE
Rectangle {
border.color: "black"
y: 200
width: 50
height: 20
z: 1
TextEdit {
anchors.fill: parent
color: "black"
focus: true
}
}
}
问题是'str'通过使用JSON.stringify获得不包含类名和因此JSON.parse(或其他工具)将无法取消序列化回'obj'对象< / strong>即可。在'str'上使用JSON.parse后,结果不再是MyClass类的实例。
class MyClass {
constructor() {
this.MyProperty = 0;
}
}
var obj = new MyClass();
console.log(obj);
//result:
//MyClass {MyProperty:0}
var str = JSON.stringify(obj);
console.log(str);
//result:
//"{MyProperty:0}"
如何将实例序列化为字符串并反序列化回ES6中的实例? 如果JSON.stringify / JSON.parse不起作用,那么在NodeJS中使用哪些好的库?
答案 0 :(得分:0)
由于JSON语法没有关于类名的定义,因此无法将JSON反序列化为对象。因此,应该出现解包器功能。
应该修改JSON语法,以便在反序列化过程的对象可以自动完成之前包含类名。
例如
SomeClass {
"field1": "value1",
"field2": "value2"
}