avpath - ロケーションパス
-
ロケーションステップは、1つのドットまたは2つのドットで始めます:
構文
ロケーション
.property
コンテキスト項目の直下でプロパティを探します
..property
コンテキスト項目の下の階層からプロパティを探します
でご覧ください。
コンテキスト項目自体を探します
-
プロパティの正確な名前の代わりにワイルドカード記号を使用できます:
構文
ロケーション
.*
コンテキスト項目の直下にあるプロパティをすべて探します
..*
コンテキスト項目の下深くにあるプロパティを探します
- avpathを使用すると、いくつかのプロパティを結合できます:
構文
ロケーション
(.property1 | .property2 | .propertyN)
コンテキスト項目の直下でproperty1、property2、propertyNを探します
(.property1 | .property2.property2_1.property2_1_1)
locates .property1、.property2.property2_1.property2_1_1 items
ロケーションパスには、絶対パスまたは相対パスを使用できます。ロケーションパスがルート(^)で始まり、絶対ロケーションパスを使っている場合、ロケーションパスはルート項目から始まります。
Avroデータの例(サブレコード - 顧客のリストが含まれているAvroレコード):
var doc =
"""
{
"customers" : [
{
"id": "1",
"Firstname": "Quentin",
"Lastname": "Novo",
"Address": { "Street" : "South Roosevelt Drive" },
"RegistrationDate": "20/01/2015",
"Revenue": "55239",
"States": "AZ"
},
{
"id": "2",
"Firstname": "Kip",
"Lastname": "Von Celaeno",
"Address": { "Street" : "Carpinteria Avenue" },
"RegistrationDate": "19/05/2016",
"Revenue": "78148",
"States": "NC"
},
{
"id": "3",
"Firstname": "Beau",
"Lastname": "Dash",
"Address": { "Street" : "Corona Del Mar" },
"RegistrationDate": "28/09/2009",
"Revenue": "77912",
"States": "CT"
}
]
};
"""
ロケーションパスの例:
// find all customers addresses
avpath.select(doc, ".customers.Address")
// [{ Street : 'South Roosevelt Drive' }, { Street : 'Carpinteria Avenue' }, { Street : 'Corona Del Mar' }]
// find all customers address streets
avpath.select(doc, ".customers.Address.Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]
// find all streets in customers*
avpath.select(doc, ".customers..Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]