Data types
A value can have one of the following types.
Null​
Nothing, null or nil (i.e. the value is not present).
Some operations/functions return null
if an argument in not valid or types doesn't match.
- Java Type:
null
null
Number​
A whole or floating point number.
- not-a-number (NaN), positive/negative infinity are represented as
null
- Java Type:
java.math.BigDecimal
1
2.3
.4
String​
- Java Type:
java.lang.String
"valid"
Boolean​
- Java Type:
java.lang.Boolean
true
false
Date​
- Format:
yyyy-MM-dd
. - Java Type:
java.time.LocalDate
date("2017-03-10")
Time​
A local or zoned time. The time can have an offset or time zone id.
- Format:
HH:mm:ss
/HH:mm:ss+/-HH:mm
/HH:mm:ss@ZoneId
- Java Type:
java.time.LocalTime
/java.time.OffsetTime
time("11:45:30")
time("13:30")
time("11:45:30+02:00")
time("10:31:10@Europe/Paris")
Date-Time​
A date with a local or zoned time component. The time can have an offset or time zone id.
- Format:
yyyy-MM-dd'T'HH:mm:ss
/yyyy-MM-dd'T'HH:mm:ss+/-HH:mm
/yyyy-MM-dd'T'HH:mm:ss@ZoneId
- Java Type:
java.time.LocalDateTime
/java.time.DateTime
date and time("2015-09-18T10:31:10")
date and time("2015-09-18T10:31:10+01:00")
date and time("2015-09-18T10:31:10@Europe/Paris")
Day-Time-Duration​
A duration based on seconds. It can contain days, hours, minutes and seconds.
- Format:
PxDTxHxMxS
- Java Type:
java.time.Duration
duration("P4D")
duration("PT2H")
duration("PT30M")
duration("P1DT6H")
Year-Month-Duration​
A duration based on the calendar. It can contain years and months.
- Format:
PxYxM
- Java Type:
java.time.Period
duration("P2Y")
duration("P6M")
duration("P1Y6M")
List​
A list of elements. Can be empty.
- Java Type:
java.util.List
[]
[1,2,3]
["a","b"]
[["list"], "of", [["lists"]]]
Context​
A list of key-value-pairs. Can be empty.
- Java Type:
java.util.Map
{}
{"a": 1}
{"b": 2, "c": "valid"}
{"nested": {"d": 3}}