【问题标题】:how can I override the toString method in openedge?如何覆盖opengege中的toString方法?
【发布时间】:2021-03-06 21:11:54
【问题描述】:

我有一个可序列化的类,我想在序列化为 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 ?

【问题讨论】:

    标签: openedge progress-4gl


    【解决方案1】:

    JsonSerializer 不使用 ToString() ,也不让您对生成的格式进行任何控制。 Serialize method 描述了写入的数据。如果您想将此能力添加到 ABL 中,您可以在 https://openedge.ideas.aha.io/ideas 添加一个“想法”; OE 产品管理层会定期审查这些想法。

    如果您现在想控制所写的内容,则需要自己动手。例如,OE 有IJsonSerializer 接口,它允许类型声明它们可以使用JsonSerializer 类进行序列化。

    【讨论】:

      猜你喜欢
      • 2019-08-20
      • 1970-01-01
      • 2018-01-10
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 2013-04-13
      相关资源
      最近更新 更多