Description
Checks if the key name exists. It only checks the key at the first level of the JSON string.
If more than one key with the same name exists, it will only check the first key. Notice that the JSONPackage IgnoreCase property (true by default) determines whether the key name will be matched in a case-sensitive manner.
Applies to
JSONPackage and JSONParser objects
Syntax for JSONPackage
objectname.ContainsKey ( Key )
Syntax for JSONParser
objectname.ContainsKey ( ParentItemHandle, Key )
objectname.ContainsKey ( ParentItemPath, Key )
|
Argument |
Description |
|---|---|
|
objectname |
The name of the JSONPackage or JSONParser object whose key you want to check. |
|
ParentItemHandle |
A long value specifying the parent item handle which is JsonObjectItem type. |
|
ParentItemPath |
A string value specifying the parent item path which is JsonObjectItem type. |
|
Key |
A string value specifying the key name. |
Return value
Boolean. Returns true if the key exists and false if the key does not exist. If any argument's value is null, the method returns null.
Example 1
This example sets the value for key and then checks if the specified key exists:
boolean lb_emp, lb_depart
JsonPackage lnv_package
lnv_package = create JsonPackage
// Packages the data
lnv_package.SetValue("d_employee", dw_employee)
// lb_emp returns true and lb_depart returns false
lb_emp = lnv_package.ContainsKey("d_employee")
lb_depart = lnv_package.ContainsKey("d_department")
Example 2
This example loads a JSON string into a JSONParser object and checks if the specified key exists:
String ls_Return
Long ll_RootHandle
Boolean lb_Contains
Long ll_ItemHandle
Long ll_Object
JSONItemType ljit_Dept
JsonParser ljp_ContainsKey
ljp_ContainsKey = Create JsonParser
// Loads JSON string to JSONParser object
ls_Return = ljp_ContainsKey.LoadString ( '{"Boolean":false, "Name":"A&DName", "object":{"1":"1"}, "dept":[{"dept_id":100, "dept_name":"R & D8", "dept_head_id":105}, {"dept_id":200, "dept_name":"Sales", "dept_head_id":129}]}' )
If Trim(ls_Return)<>"" Then
// Prints the error message
Return
End If
ll_RootHandle = ljp_ContainsKey.GetRootitem( )
// Checks if Jsonparser parent node contains a Boolean key
// This script returns TRUE
lb_Contains = ljp_ContainsKey.Containskey( ll_RootHandle, "Boolean")
lb_Contains = ljp_ContainsKey.Containskey( ll_RootHandle, "dept")
If lb_Contains Then
ljit_Dept = ljp_ContainsKey.getitemtype( ll_RootHandle, "dept")
If ljit_Dept = JsonArrayItem! Then
// Gets the handle of array object in the JSON string
ll_ItemHandle = ljp_ContainsKey.GetItemarray( ll_RootHandle, "dept")
// Gets the handle of the first element of the array object
ll_Object = ljp_ContainsKey.GetChildItem( ll_ItemHandle, 1)
// Checks if the first element contains dept_name key
// This script returns TRUE
lb_Contains = ljp_ContainsKey.Containskey( ll_Object, "dept_name")
// Checks if the first element contains a Boolean key.
// This script returns FALSE
lb_Contains = ljp_ContainsKey.Containskey( ll_Object, "Boolean")
Else
// Prints error message: the dept key is JsonArrayItem
End If
Else
// Prints the error message
End If
Example 3
This example loads a JSON string into a JSONParser object and checks if the specified key exists:
String ls_Return, ls_RootPath, ls_ChildPath
Boolean lb_Contains
JSONItemType ljit_Dept
JsonParser ljp_ContainsKey
ljp_ContainsKey = Create JsonParser
// Loads JSON string to JSONParser object
ls_Return = ljp_ContainsKey.LoadString ( '{"Boolean":false, "Name":"A&DName", "object":{"1":"1"}, "dept":[{"dept_id":100, "dept_name":"R & D8", "dept_head_id":105}, {"dept_id":200, "dept_name":"Sales", "dept_head_id":129}]}' )
If Trim(ls_Return)<>"" Then
// Prints the error message
Return
End If
ls_RootPath = "/"
// Checks if Jsonparser parent node contains a Boolean key
// This script returns TRUE
lb_Contains = ljp_ContainsKey.Containskey( ls_RootPath,"Boolean")
lb_Contains = ljp_ContainsKey.Containskey( ls_RootPath, "dept")
If lb_Contains Then
ls_ChildPath = "/dept"
ljit_Dept = ljp_ContainsKey.getitemtype( ls_ChildPath )
If ljit_Dept = JsonArrayItem! Then
// Checks if the first element contains a dept_name key
// This script returns TRUE
ls_ChildPath = "/dept/1"
lb_Contains = ljp_ContainsKey.Containskey( ls_ChildPath,"dept_name" )
// Checks if the first element contains a Boolean key.
// This script returns FALSE
lb_Contains = ljp_ContainsKey.Containskey( ls_ChildPath, "Boolean")
Else
// Prints error message: the dept key is JsonArrayItem
End If
Else
// Prints the error message
End If
See also
SetValue (JSONPackage)
ContainsPath (JSONParser)


