Contact Us 1-800-596-4880

sizeOf

sizeOf(array: Array<Any>): Number

Returns the number of elements in an array. It returns 0 if the array is empty.

This version of sizeOf takes an array or an array of arrays as input. Other versions act on arrays of objects, strings, or binary values.

Parameters

Name Description

array

The input array. The elements in the array can be any supported type.

Example

This example counts the number of elements in the input array. It returns 3.

Source

%dw 2.0
output application/json
---
sizeOf([ "a", "b", "c"])

Output

3

Example

This example returns a count of elements in the input array.

Source

%dw 2.0
output application/json
---
{
  "arraySizes": {
     size3: sizeOf([1,2,3]),
     size2: sizeOf([[1,2,3],[4]]),
     size0: sizeOf([])
   }
}

Output

{
   "arraySizes": {
     "size3": 3,
     "size2": 2,
     "size0": 0
   }
}

sizeOf(object: Object): Number

Returns the number of key-value pairs in an object.

This function accepts an array of objects. Returns 0 if the input object is empty.

Parameters

Name Description

object

The input object that contains one or more key-value pairs.

Example

This example counts the key-value pairs in the input object, so it returns 2.

Source

%dw 2.0
output application/json
---
sizeOf({a: 1, b: 2})

Output

2

Example

This example counts the key-value pairs in an object.

Source

%dw 2.0
output application/json
---
{
   objectSizes : {
     sizeIs2: sizeOf({a:1,b:2}),
     sizeIs0: sizeOf({})
   }
}

Output

{
  "objectSize": {
    "sizeIs2": 2,
    "sizeIs0": 0
  }
}

sizeOf(binary: Binary): Number

Returns the size of a binary payload in bytes. Returns 0 if the payload is empty.

Parameters

Name Description

binary

The input array of binary values.

Example

This example returns the number of bytes in the binary payload. Notice how multi-byte UTF-8 characters take up more than one byte.

Source

%dw 2.0
output application/json
---
{

BinarySizeOf: sizeOf("'my word'" as Binary) ++ " " ++ sizeOf("'my word'" as Binary),

StringSizeOf: sizeOf("'my word'") ++ " " ++ sizeOf("'my word'")

}

Output

{

"BinarySizeOf": "13 9",

"StringSizeOf": "9 9"

}

sizeOf(text: String): Number

Returns the number of characters (including white space) in an string.

Returns 0 if the string is empty.

Parameters

Name Description

text

The input text.

Example

This example returns the number of characters in the input string "abc".

Source

%dw 2.0
output application/json
---
sizeOf("abc")

Output

3

Example

This example returns the number of characters in the input strings. Notice it counts blank spaces in the string "my string" and that sizeOf("123" as Number) returns 1 because 123 is coerced into a number, so it’s not a string.

Source

%dw 2.0
output application/json
---
{
  sizeOfSting2 : sizeOf("my string"),
  sizeOfEmptyString: sizeOf(""),
  sizeOfNumber : sizeOf("123" as Number)
}

Output

{
  "sizeOfSting2": 9,
  "sizeOfEmptyString": 0,
  "sizeOfNumber": 1
}

sizeOf(value: Period): Number

Returns the number of characters in a Period value.

Introduced in DataWeave version 2.6.0.

Parameters

Name Description

value

The input Period.

Example

This example returns the number of characters in the Period value.

Source

%dw 2.0
output application/json
---
{
  a: sizeOf(|P3D|)
}

Output

{ "a": 3 }

sizeOf(value: DateTime): Number

Returns the number of characters in a DateTime value.

Introduced in DataWeave version 2.6.0.

Parameters

Name Description

value

The input DateTime.

Example

This example returns the number of characters in the DateTime value.

Source

%dw 2.0
output application/json
---
{
  a: sizeOf(|2025-07-13T18:06:59.314033Z|)
}

Output

{ "a": 27 }

sizeOf(value: LocalDateTime): Number

Returns the number of characters in a LocalDateTime value.

Introduced in DataWeave version 2.6.0.

Parameters

Name Description

value

The input LocalDateTime.

Example

This example returns the number of characters in the LocalDateTime value.

Source

%dw 2.0
output application/json
---
{
  a: sizeOf(|2025-07-13T18:06:59.314033|)
}

Output

{ "a": 26 }

sizeOf(number: Number): Number

Returns the number of characters in a Number value.

To keep backward compatibility with 2.4, this function returns 1 for any Number value when the flag com.mulesoft.dw.legacySizeOfNumber is enabled.

Introduced in DataWeave version 2.6.0.

Parameters

Name Description

number

The input number.

Example

This example returns the number of characters in the Number value.

Source

%dw 2.0
output application/json
---
{
  a: sizeOf(123),
  b: sizeOf(123.45)
}

Output

{ "a": 3, "b": 6 }

Example

This example shows how the sizeOf function works when the flag com.mulesoft.dw.legacySizeOfNumber is enabled. Notice it returns 1 for any given input.

Source

%dw 2.0
output application/json
---
{
  a: sizeOf(123)
  b: sizeOf(123.45)
}

Output

{ "a": 1, "b": 1 }

sizeOf(n: Null): Null

Helper function that enables sizeOf to work with a null value.

Introduced in DataWeave version 2.4.0.