util::json::parseObject (private)

 util::json::parseObject tokens nrTokens tokenCursorName

Defined in packages/acs-tcl/tcl/json-procs.tcl

Parse an object

Parameters:
tokens (required)
list of tokens
nrTokens (required)
length of $tokens
tokenCursorName (required)
name (in caller's context) of variable holding current position in $tokens
Returns:
parsed object (Tcl dict)

Partial Call Graph (max 5 caller/called nodes):
%3 util::json::parseValue util::json::parseValue (private) util::json::parseObject util::json::parseObject util::json::parseValue->util::json::parseObject util::json::parseObjectMembers util::json::parseObjectMembers (private) util::json::parseObject->util::json::parseObjectMembers util::json::unexpected util::json::unexpected (private) util::json::parseObject->util::json::unexpected

Testcases:
No testcase defined.
Source code:
    upvar $tokenCursorName tokenCursor

    if {$tokenCursor == $nrTokens} {
        unexpected $tokenCursor "END" "OBJECT"
    } else {
        set result {}

        set token [lindex $tokens $tokenCursor]

        if {$token eq "\}"} {
            # empty object
            incr tokenCursor
        } else {
            parseObjectMembers $tokens $nrTokens tokenCursor result
        }

        return [list _object_ $result]
    }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: