$boolean
$boolean(value?) -> booleanCompact type signature
<x-:b>If value is omitted, the current context value is used.
Source: JSONata
Documentation
Casts the argument to a Boolean using the following rules:
| Argument type | Result |
|---|---|
| Boolean | unchanged |
| string: empty | false |
| string: non-empty | true |
| number: 0 | false |
| number: non-zero | true |
| null | false |
| array: empty | false |
array: contains a member that casts to true | true |
array: all members cast to false | false |
| object: empty | false |
| object: non-empty | true |
| function | false |
Examples
Convert an empty array to a Boolean
Input
This example uses the claims-lines example input. The expression reads the modifiers array from the third claim line.
Example input
JSON
[
{
"claimId": "clm-2001",
"lineNumber": 1,
"serviceCode": "PROC-010",
"serviceDisplay": "office visit",
"units": 1,
"unitPrice": 125,
"allowedAmount": 110,
"modifiers": [
"MOD-A"
]
},
{
"claimId": "clm-2001",
"lineNumber": 2,
"serviceCode": "PROC-020",
"serviceDisplay": "imaging study",
"units": "1",
"unitPrice": 350,
"allowedAmount": 300,
"modifiers": [
"MOD-B",
"MOD-C"
]
},
{
"claimId": "clm-2001",
"lineNumber": 3,
"serviceCode": "PROC-030",
"serviceDisplay": "lab panel",
"units": 2,
"unitPrice": 40,
"allowedAmount": 70,
"modifiers": []
},
{
"claimId": "clm-2002",
"lineNumber": 1,
"serviceCode": "PROC-010",
"serviceDisplay": "office visit",
"units": 1,
"unitPrice": 125,
"allowedAmount": 115,
"modifiers": [
"MOD-A"
]
},
{
"claimId": "clm-2002",
"lineNumber": 2,
"serviceCode": "PROC-040",
"serviceDisplay": "counseling",
"units": 3,
"unitPrice": 60,
"allowedAmount": 150,
"modifiers": [
"MOD-D"
]
}
]
Expression
$boolean($[2].modifiers)
Result
false