问题描述
我有一个可序列化的类,我想在序列化为 JSON 时提供我自己的 toString。
DEFINE PUBLIC PROPERTY address1 AS CHaraCTER NO-UNDO
GET.
SET.
METHOD PUBLIC OVERRIDE CHaraCTER toString( ):
DEFINE VARIABLE result AS CHaraCTER NO-UNDO.
RETURN address1 + address2 + city + country.
END METHOD.
END CLASS. ```
I am also assigning the class to a temptable and using the write-json method of a dataset to output but I get the standard toString representation .."myClass": {
"prods:objId": 1,"myClass": {
"address1": "xxxxx"
}
}
can I somehow override the toString being used ?
解决方法
JsonSerializer
不使用 ToString()
,也不会让您控制生成的格式。 Serialize
method 描述写入的数据。如果您想将此能力添加到 ABL 中,您可以在 https://openedge.ideas.aha.io/ideas 处添加一个“想法”; OE 产品管理人员定期审查这些想法。
如果你今天想控制所写的内容,你需要自己动手。例如,OE 具有 IJsonSerializer
接口,该接口允许类型声明它们可以使用 JsonSerializer
类进行序列化。