JSONオブジェクトのフラット化拡張機能
ネストされたデータレイヤーオブジェクトをキーと値のペアが1層のみの新しいオブジェクトに変換するために、JSONオブジェクトのフラット化拡張機能を使用します。
データレイヤーを変換するためのより高度なオプションについては、Data Layer Converterを参照してください。
前提条件
- 拡張機能についてを参照してください。
要件
- utag v4.38以降。
utag.jsテンプレートを更新する方法については、ナレッジベースの記事utag.jsの最新バージョンへの更新のベストプラクティスを参照してください。
動作原理
以下は、JSONオブジェクトのフラット化拡張機能がどのように機能するかを示すいくつかの例です:
parent -> childのようなオブジェクトはparent.childとしてフラット化されます。parent -> array -> [obj1,objN]のような配列オブジェクトはparent.array0.obj1keyおよびparent.arrayN.objNkeyとしてフラット化されます。- 配列の場合、追加の
parent.array.array-size値が自動的に構成されます。
拡張機能の使用
拡張機能が追加されると、以下の構成オプションが利用可能になります:
- JSONオブジェクト:フラット化するJSONオブジェクト変数。
- 出力オブジェクト:結果を含む出力オブジェクト変数。
例
以下は、親子関係と配列を含むJSONオブジェクトの例です:
var person_object = {
"firstName" : "John",
"lastName" : "Doe",
"age" : 25,
"address" : {
"streetAddress" : "1234 Main St",
"city" : "Los Angeles",
"state" : "CA",
"postalCode" : "90010"
},
"phoneNumber" : [
{
"type" : "home",
"number" : "310-555-1234"
},
{
"type" : "fax",
"number" : "310-555-5678"
}
]
};
フラット化されたとき、オブジェクトは以下のようになります:
var person_flatobject = {
"address.city" : "Los Angeles",
"address.postalCode" : "90010"
"address.state" : "CA",
"address.streetAddress": "1234 Main St",
"age" : 25,
"firstName" : "John",
"lastName" : "Doe",
"phoneNumber.array-size" : 2
"phoneNumber0.number" : "310-555-1234"
"phoneNumber0.type" : "home",
"phoneNumber1.number" : "310-555-5678"
"phoneNumber1.type" : "fax"
};
新しいオブジェクトからデータレイヤー変数として項目を参照する必要がある場合、person_flatobjectで述べられている表記法を使用します。たとえば、アドレスのstateデータにアクセスするにはperson_flatobject.address.stateを使用します。
最終更新日 :: 2025年September月11日