JSONオブジェクトのフラット化拡張
フラット化JSONオブジェクト拡張を使用して、ネストされたデータレイヤーオブジェクトをキー/値ペアのレイヤーが1つだけの新しいオブジェクトに変換します。
データレイヤーを変換するためのより高度なオプションについては、Data Layer Converterを参照してください。
前提条件
- About Extensionsを参照してください。
要件
- utag v4.38以降。
utag.js
テンプレートの更新についての詳細は、ナレッジベースの記事Best Practices for Updating to the Latest Version of 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
とします。
最終更新日 :: 2024年March月29日