Property reference expressions
Property
reference expressions are the most common expression pattern to refer to a JSON
object property using dotted syntax, object.property1
, or map
access syntax, object[property]
.
Any property that begins with a letter and only contains letters, numbers or underscores can be accessed using dot notation or map access syntax, for example:
user.accountId
user.name.given
user['accountId']
user['name']['given']
If a property contains a character other than the ones mentioned previously, such as
a hyphen or dollar sign, it can only be accessed using the map access syntax, for
example user.name['full-name']
or
providerAttributes['amountIn$']
.
Literal expressions
PingOne supports literal expressions in the form of strings, numeric values, boolean, and null.
Strings are delimited by single quotation marks. To put a single quotation mark itself in a
string, use two single quotation mark characters around it. For example,
'''string'''
returns 'string'
.
Numeric literals used directly in expressions must adhere to Java standards, such as adhering
to min and max limits and using l
or L
for long
literals. Numeric literals are also subject to the Java floating point rounding
issues.
Expression type | Example |
---|---|
String in double quotes | "Hello" |
String in single quotes | 'Hello', '''Hello''' |
Numbers | 1 , 8.57 ,
34533535454345L |
Boolean | true or false |
String concatenation
You can use the +
operator to concatenate values. You must include a leading
and trailing space around the operator.
For example, user.name.family + ', ' + user.name.given
or 'Hi' +
user.name.given
.
Because it's missing a leading space, 'Hi'+ user.name.given
will return an
error.