【问题标题】:Can I create a custom field with datatype as sobject in the Salesforce platform event?我可以在 Salesforce 平台事件中创建数据类型为 sobject 的自定义字段吗?
【发布时间】:2021-05-07 04:42:28
【问题描述】:

在平台事件中,我只看到带有文本、日期、复选框和数字的自定义字段数据类型,但没有看到 sobject 类型。我需要序列化我自己的类实例(有账户+联系人列表)并以 json 格式发布对象。

我尝试创建一个自定义文本字段(名称为 data__c)并将 json 序列化对象分配给该字段。但是,接收方得到了不必要的引号,因为它是一个字符串。我想避免这种情况,只作为一个对象发布,我可以这样做吗? 现在,在接收方,data__c 以双引号开始并以双引号结束,而不仅仅是一个对象(以大括号开头),如下所示:

enter image description here

因此,一种选择是接收方应将这些引号取出并将其视为对象或其他选项将其像对象本身一样发送。请求是,我们可以作为对象发送吗?请在这里帮助我。

谢谢

// custom classes defined for json serialization
class CustomAccount {
    String oper;
    List<Account> accountList;
    List<CustomContact> custContactList;       
}

// 创建一个对象 customAccount ca = new CustomAccount();

// 我的新平台事件,将 json 序列化数据分配给 data__c,其中一个文本字段 Pltf_Notifications__e eve = new Pltf_Notifications__e();

eve.data__c = json.serialize(ca); 在此输入代码

【问题讨论】:

    标签: json api salesforce apex


    【解决方案1】:

    您不能为平台事件创建 sobject 数据类型。如果响应具有 sobject 类型,则可以通过反序列化 sobject 数据类型来处理来自平台触发器的逻辑。如果匹配,您可以通过传递 sobject 数据从此处调用其他处理程序类,并从此处构造您想要的格式,然后触发平台事件。

    【讨论】:

      猜你喜欢
      • 2011-05-16
      • 2017-04-10
      • 2014-11-03
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多