Replaces the value of a specified element from a JSON array. If the array element does not exist in the JSON array, a new element with the specified value will be appended to the array. If the array element does not contain a float value, nothing happens.
Json.bdh
JsonArraySetFloatElement( in handle : number,
in index : number,
in value : float ): boolean;
| Parameter | Description |
|---|---|
| handle | Valid handle to a JSON array |
| index | The index position in the JSON array. Lower bound is zero (0). |
| value | The new value of the element |
transaction TMain
var
jsonText : string;
jsonArray, i : number;
newValue, currentValue : float;
begin
WebParseDataBound(jsonText);
WebPageUrl("http://mycompany.com/api/jsondata");
jsonArray := JsonParse(jsonText);
//every JSON array element is greater than or equal 11.22
newValue := 11.22;
for i := 0 to (JsonGetArrayLength(jsonArray) - 1) do
JsonArrayGetFloatElement(jsonArray, i, currentValue);
if currentValue < newValue then
JsonArraySetFloatElement(jsonArray, i, newValue);
end;
end;
/* add new value
* index of the new value := size
* size := size + 1 */
JsonArraySetFloatElement(jsonArray, 999999, newValue);
JsonFree(jsonArray);
end TMain;