Loading
システム管理者に対するフィッシング耐性MFA・全従業員ユーザーMFAの適用のお知らせ 続きを読む
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
OmniStudio JSON オブジェクト関数

OmniStudio JSON オブジェクト関数

JSON オブジェクトを操作する関数。

OmniStudio DESERIALIZE 関数

JSON 文字列を JSON オブジェクトに変換します。

デシリアライゼーションは、シリアル管理された JSON 文字列をその JSON オブジェクト構造に変換します。シリアライゼーションとデシリアライゼーションにより、異なるシステムやアプリケーション間での効率的なデータ交換が促進されます。

署名

DESERIALIZE(jsonString)

戻り値

JSON オブジェクト

パラメーター

パラメーター

データ型

必要性

説明

jsonString

 

必須

デシリアライズされる以前にシリアライズされた JSON 文字列。

JSON オブジェクトの例
JSON オブジェクトの例

サンプルデータ: "SerializedContact": "{\"LastName\":\"Edison\",\"MiddleName\":\"Alva\",\"FirstName\":\"Thomas\"}"

数式: DESERIALIZE(%SerializedContact%)

戻り値:

{
  "MiddleName": "Alva",
  "LastName": "Edison",
  "FirstName": "Thomas"
}
JSON 配列の例
JSON 配列の例

サンプルデータ: "SerializedContacts": "[{\"lastName\":\"Jones\",\"firstName\":\"Cathy\"},{\"lastName\":\"Smith\",\"firstName\":\"Albert\"},{\"lastName\":\"Smith\",\"firstName\":\"Ben\"}]"

数式: DESERIALIZE(%SerializedContacts%)

戻り値:

[
  {
    "firstName": "Cathy",
    "lastName": "Jones"
  },
  {
    "firstName": "Albert",
    "lastName": "Smith"
  },
  {
    "firstName": "Ben",
    "lastName": "Smith"
  }
]

OmniStudio の RESERIALIZE 関数

以前にシリアライズされた JSON 文字列を再シリアライズします。

RESERIALIZE 関数は、 DESERIALIZE(SERIALIZE()) 関数のコールに相当します。この関数は、JSON 文字列を一般的な Map<String, Object> 形式に変換します。これは、リモート アクションで Apex クラスの出力をデータ マッパーおよび Integration Procedure で受け入れられる形式に変換する場合に便利です。詳細は、「Remote Action for Integration Procedures (インテグレーション手順のリモートアクション)」を参照してください。

署名

RESERIALIZE(jsonString)

戻り値

JSON 文字列

パラメーター

パラメーター

データ型

必要性

説明

jsonString

JSON 文字列

必須

再シリアライズされる以前にシリアライズされた JSON 文字列。

JSON オブジェクトの例
JSON オブジェクトの例

サンプルデータ: "SerializedContact": "{\"LastName\":\"Edison\",\"MiddleName\":\"Alva\",\"FirstName\":\"Thomas\"}"

数式: RESERIALIZE(%SerializedContact%)

戻り値: "{\"LastName\":\"Edison\",\"MiddleName\":\"Alva\",\"FirstName\":\"Thomas\"}"

JSON 配列の例
JSON 配列の例

サンプルデータ: "SerializedContacts": "[{\"lastName\":\"Jones\",\"firstName\":\"Cathy\"},{\"lastName\":\"Smith\",\"firstName\":\"Albert\"},{\"lastName\":\"Smith\",\"firstName\":\"Ben\"}]"

数式: DESERIALIZE(%SerializedContacts%)

戻り値: "[{\"lastName\":\"Jones\",\"firstName\":\"Cathy\"},{\"lastName\":\"Smith\",\"firstName\":\"Albert\"},{\"lastName\":\"Smith\",\"firstName\":\"Ben\"}]"

OmniStudio SERIALIZE 関数

JSON オブジェクトを JSON 文字列に変換します。

逐次化では、JSON オブジェクトが JSON 文字列に変換され、簡単に保存、送信、元のオブジェクト構造への復元ができます。シリアライゼーションとデシリアライゼーションにより、異なるシステムやアプリケーション間での効率的なデータ交換が促進されます。(SERIALIZE 関数の結果は、 TOSTRING 関数の結果とは異なります) 。

署名

SERIALIZE(jsonObject)

戻り値

JSON 文字列

パラメーター

パラメーター

データ型

必要性

説明

jsonObject

JSON オブジェクト

必須

シリアライズされる JSON オブジェクト。JSON 配列を渡すには、LIST 関数を使用します。

JSON オブジェクトの例
JSON オブジェクトの例

サンプルデータ:

"Contact": {
  "FirstName": "Thomas",
  "MiddleName": "Alva",
  "LastName": "Edison"
}

数式: SERIALIZE(%Contact%)

戻り値: "{\"LastName\":\"Edison\",\"MiddleName\":\"Alva\",\"FirstName\":\"Thomas\"}"

JSON 配列の例
JSON 配列の例

サンプルデータ:

"Contacts": [
  {
    "lastName": "Jones",
    "firstName": "Cathy"
  },
  {
    "lastName": "Smith",
    "firstName": "Albert"
  },
  {
    "lastName": "Smith",
    "firstName": "Ben"
  }
]

数式: SERIALIZE(LIST(%Contacts%))

戻り値: "[{\"lastName\":\"Jones\",\"firstName\":\"Cathy\"},{\"lastName\":\"Smith\",\"firstName\":\"Albert\"},{\"lastName\":\"Smith\",\"firstName\":\"Ben\"}]"

OmniStudio VALUELOOKUP 関数

JSON オブジェクト階層の任意の深度に存在するノードの値を返します。

この関数は、別の JSON ノードが参照する JSON ノードの値を返します。この関数を使用すると、指定したノードを動的に取得できます。

署名

VALUELOOKUP(startNode, node...)

戻り値

文字列

パラメーター

パラメーター

データ型

必要性

説明

startNode

JSON ノード

必須

JSON オブジェクトのノードまたはノードパス。ノードまたはノードパスは、値を返す JSON オブジェクトのルートで始まる必要があります。たとえば、Contact オブジェクトの Name オブジェクトには、Contact, Name または Contact:Name を指定できます。ノードパスを使用して JSON 配列をトラバースします。

node...

JSON ノード

必須

JSON オブジェクトの 1 つ以上のノードのカンマ区切りリスト。各ノードは、以前に指定したノードの直接の子であるか、そのノードの子を参照する必要があります。最終ノードは、値を返すノードを識別する必要があります。

JSON オブジェクトの例
JSON オブジェクトの例

サンプルデータ:

"Contact": {
  "Name": {
    "FirstName": "Thomas",
    "MiddleName": "Alva",
    "LastName": "Edison"
  },
  "Address": {
    "City": "San Francisco",
    "State": "CA",     
    "ZipCode": 94110
  }
},
"GetNameGroup": "Name",
"GetLastNameField": "LastName",
"GetAddressGroup": "Address",
"GetStateField": "State"

数式: VALUELOOKUP(Contact, GetNameGroup, GetLastNameField)

数式: VALUELOOKUP(Contact:Name, GetLastNameField)

戻り値: "Edison"

数式: VALUELOOKUP(Contact, GetNameGroup)

戻り値:

{
  "MiddleName": "Alva",
  "LastName": "Edison",
  "FirstName": "Thomas"
}

数式: VALUELOOKUP(Contact, GetAddressGroup, GetStateField)

数式: VALUELOOKUP(Contact:Address, GetStateField)

戻り値: "CA"

数式: VALUELOOKUP(Contact, GetAddressGroup)

戻り値:

{
  "City": "San Francisco",
  "ZipCode": 94110,
  "State": "CA"
}
JSON 配列の例
JSON 配列の例

サンプルデータ:

"AccountList": [
  {
    "CaseList": [
      {
        "Case1": {
          "CreatedDate": "2/1/2024T16:35:30 GMT -0500 (EDT)",
          "LastUpdate": "2/8/2024T09:15:00 GMT -0500 (EDT)",
          "NextCase": "Case2"
        }
      },
      {
        "Case2": {
          "CreatedDate": "2/2/2025T11:05:05 GMT -0500 (EDT)",
          "LastUpdate": "2/3/2025T15:50:57 GMT -0500 (EDT)",
          "NextCase": "Case3"
        }
      },
      {
        "Case3": {
          "CreatedDate": "2/4/2025T11:05:05 GMT -0500 (EDT)",
          "LastUpdate": "2/6/2025T15:50:57 GMT -0500 (EDT)",
          "NextCase": null
        }
      }
    ]
  }
],
"GetFirstCase": "Case1",
"GetNextCase": "NextCase"

数式: IF(GetFirstCase, GetFirstCase, "Empty list")

戻り値: "Case1"

数式: VALUELOOKUP(AccountList:CaseList:Case1, GetNextCase)

戻り値: "Case2"

数式: VALUELOOKUP(AccountList:CaseList:Case2, GetNextCase)

戻り値: "Case3"

数式:

IF(VALUELOOKUP(AccountList:CaseList:Case3, GetNextCase),
  VALUELOOKUP(AccountList:CaseList:Case3, GetNextCase),
  "End of list")

戻り値: "End of list"

 
読み込み中
Salesforce Help | Article