Skip to main content

getLong (Function)

Function retrieves the long value specified in the given path of the JSON element.

Syntax

<LONG> json:getLong(<STRING|OBJECT> json, <STRING> path)

Query Parameters

NameDescriptionDefault ValuePossible Data TypesOptionalDynamic
jsonThe JSON input containing long value.STRING OBJECTNoYes
pathThe JSON path to fetch the long value.STRINGNoYes

Example 1

@info(name = 'query1')
json:getLong(json,'$.age')

Given a JSON object like {'name' : 'John', 'age' : 23}, the function json:getLong(json,'$.age') searches for a long value associated with the key age. In this case, it returns 23 as there is a matching long at $.age.

Example 2

@info(name = 'query2')
json:getLong(json,'$.salary')

Given a JSON object like {'name' : 'John', 'age' : 23}, the function json:getLong(json,'$.salary') searches for a long value associated with the key salary. In this case, it returns null as there is no matching element at $.salary.

Example 3

@info(name = 'query3')
json:getLong(json,'$.name')

For a JSON object like {'name' : 'John', 'age' : 23}, the function json:getLong(json,'$.name') searches for a long value associated with the key name. In this case, it returns null as there is no matching long at $.name.

Example 4

CREATE STREAM PersonStream (json string);
CREATE SINK STREAM MarriedPersonStream (name string, married bool);

@info(name = 'ExtractMaritalStatus')
INSERT INTO MarriedPersonStream
SELECT json:getString(json, '$.name') AS name, json:getBool(json, '$.married') AS married
FROM PersonStream;

In this example, two streams are defined: PersonStream for input data and MarriedPersonStream for the output.

The ExtractMaritalStatus query listens for events from the PersonStream. Each event is a JSON string representing a person's details.

The functions json:getString(json, '$.name') and json:getBool(json, '$.married') are used to extract the name (a string) and marital status (a boolean) from each JSON string. These extracted values are then inserted into the MarriedPersonStream.

The query continuously processes each person's details from PersonStream, extracts the name and marital status, and feeds these values into the MarriedPersonStream. This enables a real-time analysis of the marital status of the persons in the incoming data stream.