# Is empty struct
> Supported in: Batch, Streaming
Returns true if the input is an empty struct, with recursive checking of inner arrays and structs.
**Expression categories:** Boolean
## Declared arguments
* **Expression:** Compute whether this struct is empty or has non-null fields.
*Expression\*
**Output type:** *Boolean*
## Examples
### Example 1: Base case
**Argument values:**
* **Expression:** `struct`
| struct | **Output** |
| ----- | ----- |
| {
**airline**: {
**id**: *null*,
**name**: *null*,
},
**tail\_no**: *null*,
} | true |
| {
**airline**: {
**id**: NA,
**name**: *null*,
},
**tail\_no**: *null*,
} | false |
***
### Example 2: Base case
**Argument values:**
* **Expression:** `struct`
| struct | **Output** |
| ----- | ----- |
| {
**airline**: {
**ids**: *null*,
**name**: *null*,
},
**tail\_no**: *null*,
} | true |
| {
**airline**: {
**ids**: \[ *null* ],
**name**: *null*,
},
**tail\_no**: *null*,
} | true |
| {
**airline**: {
**ids**: \[ foo, bar ],
**name**: *null*,
},
**tail\_no**: *null*,
} | false |
| {
**airline**: {
**ids**: \[ foo, *null* ],
**name**: *null*,
},
**tail\_no**: *null*,
} | false |
***
### Example 3: Base case
**Argument values:**
* **Expression:** `struct`
| struct | **Output** |
| ----- | ----- |
| {
**airline**: {
**name**: *null*,
},
**ids**: *null*,
**tail\_no**: *null*,
} | true |
***
### Example 4: Base case
**Argument values:**
* **Expression:** `struct`
| struct | **Output** |
| ----- | ----- |
| {
**airline**: {
**ids**: {
foo -> *null*,
},
**name**: *null*,
},
**tail\_no**: *null*,
} | true |
| {
**airline**: {
**ids**: {
foo -> bar,
},
**name**: *null*,
},
**tail\_no**: *null*,
} | false |
| {
**airline**: {
**ids**: {
foo -> bar,
foo1 -> *null*,
},
**name**: *null*,
},
**tail\_no**: *null*,
} | false |
***
### Example 5: Base case
**Argument values:**
* **Expression:** `struct`
| struct | **Output** |
| ----- | ----- |
| {
**airline**: {
**ids**: \[ {
**airline**: {
**ids**: \[ *null* ]... | true |
| {
**airline**: {
**ids**: \[ {
**airline**: {
**ids**: \[ foo, bar... | false |
***