Controller 23.4

# lookup

The `lookup` method returns the value at the specified path in the JSON value.

NOTE: This method does not make a copy of the value, so modifying the returned value affects the original object.

## Syntax

    lookup( pathElements )

## Arguments

Argument | Description
--- | ---
`pathElements` | (json_path_string_or_integer) The path of the value to return. Specify one or more path elements, which might be object attribute names (strings) or array indexes (integers).

## Returns

(LuaJsonValue) Returns the value that exists at the specified path, or `nil` if the specified path does not exist.

## Example

    local myJsonObject = LuaJsonObject:new()
    myJsonObject:assign( {
            attr1=LuaJsonObject:new( { n=42, x=5 } ),
            attr2=LuaJsonArray:new( 1, 2, "three" ),
        } )

    local myJsonValue = LuaJsonValue:new( myJsonObject )

    print ( myJsonValue:lookup("attr2",2):value() )
    -- three (LuaJsonArrays are zero-indexed)

    -- Modifying the returned value changes the original object
    local lookup = myJsonValue:lookup("attr1"):object()
    lookup:assign("y",3)
    print (myJsonValue:string())
    -- {"attr1":{"n":42,"x":5,"y":3},"attr2":[1,2,"three"]}

## See Also

- lookupByPath

Copyright 2015-2023 Open Text
Version 23.4 | Last updated September 2023

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to swpdl.idoldocsfeedback@microfocus.com.

We appreciate your feedback!

Product: IDOL Controller 23.4

Topic Title: lookup