JSON request can be handled using lr_eval_json function in LR 12.53.
lr_eval_json parses a JSON string, creates a JSON object, and stores the handle of the object in a parameter.
This function is not recorded. You can insert it manually into your script.
Step1: Capture JSON request from the response body using web_reg_save_param.
Step2: Input captured parameter of json parameter and save it in a string using below lr_save_sting function.
lr_eval_json parses a JSON string, creates a JSON object, and stores the handle of the object in a parameter.
This function is not recorded. You can insert it manually into your script.
Step1: Capture JSON request from the response body using web_reg_save_param.
Step2: Input captured parameter of json parameter and save it in a string using below lr_save_sting function.
lr_save_string(json_input, "JSON_Input_Param");
Step3: Create a Json object using above json string.
//Create a Json object from a string.
lr_eval_json("Buffer={JSON_Input_Param}",
"JsonObject=json_obj_1", LAST);
//Create a Json object from a file.
lr_eval_json("Buffer/File=store.json",
"JsonObject=json_obj_2", LAST);
Step4: Using below function values can be fetched from json object and used in the scritps.
lr_json_get_values("JsonObject=json_obj",
"ValueParam=val",
"QueryString=$.val",
"SelectAll=Yes",
LAST);
Values will be stored in parameter like val_1, val_2, val_3.........
Alternate way:
Using web_reg_save_param_json function.
The web_reg_save_param_json function supports array type parameters. When you specifySelectAll=Yes
, all the occurrences of the match are saved in an array.
Each element of the array is represented by the ParamName_index.
In the following example, the parameter name is A:
web_reg_save_param_json("ParamName= A", "QueryString=$..arguments.additional_context[0].name", "SelectAll=Yes", LAST );The first match is saved as A_1, the second match is saved as A_2, and so forth. You can retrieve the total number of matches by using the following term: ParamName_count.
For example, to retrieve the total number of matches saved to the parameter array,
use: TotalNumberOfMatches=atoi(lr_eval_string("{A_count}"));
web_reg_save_param_json is not recorded. You can add it manually to a script.
Argument | Description |
ParamName | The name of the parameter to store the returned value. If the parameter does not exist, it is created. |
QueryString | The path of the value to save. For the syntax of the query string, see Json Path on GitHub. |
SelectAll | Optional: If SelectAll=Yes, all the occurrences of the match are saved in an array. See Saving Multiple Matches below in this topic. |
List of Attributes | For details of each attribute, see Attributes for Save Parameter Registration Functions. Attribute value strings (e.g., "Search=body") are not case-sensitive. See the Restrictions. |
SEARCH FILTERS | Specifies the sections of the buffer to search for the string in. See Search Filters for Save Parameter Registration Functions. See the Restrictions. |
LAST | A marker that indicates the end of the argument list. |