Datatyper :headding-anchor:concept_gp3_rj5_dgb
Tekniskt sett innehåller en konstant alltid en datatyp. I det litterala uttrycket anger vi bara värdet. Datatypen kan härledas från värdet (t.ex. sträng, heltal, decimal). I särskilda fall, till exempel datum och tid, använder vi dedikerade funktioner för representationen.
Avsnitten nedan innehåller information om de olika datatypsuttrycken och hur de återges.
string :headding-anchor:string
Beskrivning
Vanlig teckensekvens. Den har ingen specifik storlek förutom den som kommer från miljön, till exempel mängden tillgängligt minne.
JSON-format: String
Serialiseringsformat: UTF-8
Litteral representation
"<value>"
'<value>'
Exempel
"hello world"
'hello world'
heltal :headding-anchor:integer
Beskrivning
Heltalsvärde från -2^63 till 2^63-1.
JSON-format: Number
Litteral representation
<integer value>
Exempel
42
decimal :headding-anchor:decimal
Beskrivning
Decimaltal. Det representerar ett flytande värde:
- det största positiva, ändliga värdet av typen double, (2-2 -52)x2 1023
- minsta positiva normalvärde av typen double, 2-1022
- minsta positiva värde som inte är noll av typen double, 2 p-1074
JSON-format: Number
Serialiseringsformat: använder . som decimalavgränsare.
Litteral representation
<integer value>.<integer value>
Exempel
3.14
boolesk :headding-anchor:boolean
Beskrivning
Booleskt värde skrivet med gemener: true eller false
JSON-format: Boolean
Litteral representation
true
false
Exempel
true
dateOnly :headding-anchor:date-only
Beskrivning
Representerar endast ett datum utan tidszon, vilket visas som en dag i månaden.
Det är en beskrivning av datumet, som används för födelsedagar.
JSON-format: String.
Formatet är: YYY-MM-DD (ISO-8601), t.ex. "2021-03-11".
Den kan kapslas in i en toDateOnly-funktion.
Det använder DateTimeFormatter ISO_LOCAL_DATE_TIME för att avserialisera och serialisera värdet. Läs mer
Litteral representation
date("<dateOnly in ISO-8601 format>")
Exempel
date("2021-02-19")
dateTimeOnly :headding-anchor:date-time-only
Beskrivning
Representerar en datumtid utan tidszon, som visas som en millisekund för år-månad-timme-minut-sekund-millisekund.
JSON-format: String.
Den lagrar inte eller representerar en tidszon. I stället är det en beskrivning av datumet, som används för födelsedagar, kombinerat med lokal tid enligt en väggklocka.
Det kan inte representera en instans på tidslinjen utan ytterligare information som en förskjutning eller tidszon.
Den kan kapslas in i en toDateTimeOnly-funktion.
Serialiseringsformat: ISO-8601 utökat förskjutningsformat för datum och tid.
Det använder DateTimeFormatter ISO_LOCAL_DATE_TIME för att avserialisera och serialisera värdet. Läs mer
Litteral representation
date("<dateTimeOnly in ISO-8601 format>")
Exempel
date("2021-02-19T00.00.000")
date("2021-02-19T00.00")
dateTime :headding-anchor:date-time
Beskrivning
Datumtidskonstant som även beaktar tidszon. Den representerar ett datum/tid med en förskjutning från UTC.
Den kan visas som ett ögonblick i tid med ytterligare information om förskjutningen. Det är ett sätt att representera ett specifikt "ögonblick" på en viss plats i världen.
JSON-format: String.
Den kan kapslas in i en toDateTime-funktion.
Serialiseringsformat: ISO-8601 utökat förskjutningsformat för datum och tid.
Det använder DateTimeFormatter ISO_OFFSET_DATE_TIME för att avserialisera och serialisera värdet. Läs mer
Du kan också skicka ett heltal som skickar ett epokvärde. Läs mer
Tidszonen kan anges med en förskjutning eller en tidszonskod (exempel: Europa/Paris, Z - betyder UTC).
Litteral representation
toDateTime("<dateTime in ISO-8601 format>")
date("<dateTime in ISO-8601 format>")
toDateTime(<integer value of an epoch in milliseconds>)
Exempel
date("2021-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2011-12-03T15:15:30Z")
toDateTime("2011-12-03T15:15:30.123Z")
toDateTime("2011-12-03T15:15:30.123+02:00")
toDateTime("2011-12-03T15:15:30.123-00:20")
toDateTime(1560762190189)
varaktighet :headding-anchor:duration
Beskrivning
Den representerar en tidsbaserad tidsmängd, till exempel "34,5 sekunder". Den modellerar en kvantitet eller tid i millisekunder.
De tidsenheter som stöds är: millisekunder, sekunder, minuter, timmar och dagar där en dag motsvarar 24 timmar. År och månader stöds inte eftersom de inte är en fast tidsmängd.
JSON-format: String.
Den måste kapslas in i en toDuration-funktion.
Serialiseringsformat: Om du vill deserialisera ett tidszons-ID använder du Java-funktionen java.time.
Duration.parse: De format som accepteras baseras på varaktighetsformatet PnDTnHnMn.nS enligt ISO-8601 med dagar som anses vara exakt 24 timmar. Läs mer
Litteral representation
toDuration("<duration in ISO-8601 format>")
toDuration(<duration in milliseconds>)
Exempel
toDuration("PT5S") -- parses as 5 seconds
toDuration(500) -- parses as 500ms
toDuration("PT20.345S") -- parses as "20.345 seconds"
toDuration("PT15M") -- parses as "15 minutes" (where a minute is 60 seconds)
toDuration("PT10H") -- parses as "10 hours" (where an hour is 3600 seconds)
toDuration("P2D") -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
toDuration("P2DT3H4M") -- parses as "2 days, 3 hours and 4 minutes"
toDuration("P-6H3M") -- parses as "-6 hours and +3 minutes"
toDuration("-P6H3M") -- parses as "-6 hours and -3 minutes"
toDuration("-P-6H+3M") -- parses as "+6 hours and -3 minutes"
list :headding-anchor:list
Beskrivning
Kommaavgränsad lista med uttryck som använder hakparenteser som avgränsare.
Polymorfism stöds inte, och därför bör alla uttryck i listan ha samma typ.
Litteral representation
[<expression>, <expression>, ... ]
Exempel
["value1","value2"]
[3,5]
[toDuration(500),toDuration(800)]