avpath - Lokalisierungspfad
-
Lokalisierungsschritte starten mit einem oder zwei Punkten:
Syntax
Lokalisierung
.property
Lokalisierung einer direkt von Kontextelementen übernommenen Eigenschaft
..property
Lokalisierung einer indirekt (tief) von Kontextelementen übernommenen Eigenschaft
.
Lokalisierung von Kontextelementen selbst
-
Sie können das Platzhaltersymbol anstelle des exakten Namens der Eigenschaften verwenden:
Syntax
Lokalisierung
.*
Lokalisierung aller direkt von Kontextelementen übernommenen Eigenschaften
..*
Lokalisierung aller indirekt (tief) von Kontextelementen übernommenen Eigenschaften
- avpath ermöglicht Ihnen die Verknüpfung mehrerer Eigenschaften:
Syntax
Lokalisierung
(.property1 | .property2 | .propertyN)
Lokalisierung der direkt von Kontextelementen übernommenen Eigenschaften property1, property2, propertyN
(.property1 | .property2.property2_1.property2_1_1)
Lokalisierung der Elemente .property1, .property2.property2_1.property2_1_1
Ihr Lokalisierungspfad kann absolut oder relativ sein. Wenn der Lokalisierungspfad mit dem Stamm (^) beginnt, verwenden Sie einen absoluten Lokalisierungspfad, d. h. Ihr Lokalisierungspfad beginnt bei den Stammelementen.
Beispiel für Avro-Daten (ein Avro-Datensatz mit einer Liste untergeordneter Datensätze - Kunden):
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"
}
]
};
"""
Beispiel eines Lokalisierungspfads:
// 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' ]