InfoArchive Connector 24.3

# lookupByPath

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

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

## Syntax

    lookupByPath( path )

## Arguments

Argument | Description
--- | ---
`path` | (string) The path of the value to return. Construct the path from array indexes and object attribute names, and use a slash (`/`) as the separator. If an object attribute name includes a slash, then escape the slash with a backslash, for example `"one\\/two"`. Notice that you must also escape a backslash with another backslash.

## Returns

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

## Example

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

    print ( myJsonObject:lookupByPath("attr2/2"):value() )
    -- three (LuaJsonArrays are zero-indexed)

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

## See Also

- lookup

Copyright 2024 Open Text
Version 24.3 | Last updated June 2024

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 MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: IDOL InfoArchive Connector 24.3

Topic Title: lookupByPath