Selector Modifiers (!, ?)

Selector Modifiers (!, ?)

You can check for the presence of a given key.

  • ! evaluates the selection and fails with an exception message if the key is not present.
  • ? returns true if the selected key is present, false if not. Note that ? is also used in

Filter Selectors (myKey[?($ == “aValue”)]).

Assert Present Validator

! returns an error if any of the specified key is missing.

  • { “name”: “Annie” }.lastName! returns an error with the message, There is no key named ‘lastName’.
  • Without the !, { “name”: “Annie” }.lastName returns null.
  • When the key is present, { “name”: “Annie” }.name! the result is “Annie”.

Key Present Validator

Returns true if the specified key is present in the object or as an attribute of an XML element.

This example returns true because the name key does exists.

DataWeave Script:

%dw 2.0

output application/xml

present: payload.name?

Input JSON Payload:

{ “name”: “Annie” }

Output XML:

<?xml version=”1.0″ encoding=”UTF-8″?>

<present>true</present>

? also works with XML attributes:

DataWeave Script:

%dw 2.0

output application/json

{

item: {

typePresent : payload.product.@.”type”?

}

}

Input XML Payload:

<product id=”1″ type=”tv”>

<brand>Samsung</brand>

</product>

Output JSON:

{

“item”: { “typePresent”: true }

}

Follow Me

If you like my post please follow me to read my latest post on programming and technology.

Instagram

Facebook

Recent Posts

Generate Parenthesis | Intuition + Code | Recursion Tree | Backtracking | Java

Problem Statement: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example…

2 months ago

Square Root of Integer

Given an integer A. Compute and return the square root of A. If A is…

1 year ago

Build Array From Permutation

Given a zero-based permutation nums (0-indexed), build an array ans of the same length where…

1 year ago

DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is…

1 year ago

DSA: Trie

What is a Trie in DSA? A trie, often known as a prefix tree, is…

1 year ago

Trees: Lowest Common Ancestor

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of…

1 year ago