From 9971b99461e930008e3d35bc0a4a310b6afa57f6 Mon Sep 17 00:00:00 2001 From: Abner Chang Date: Thu, 11 Jan 2024 16:47:55 +0800 Subject: RedfishPkg/JsonLib: Add JSON delete object function To support the deletion on a specified JSON object. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy Reviewed-by: Nickle Wang --- RedfishPkg/Library/JsonLib/JsonLib.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'RedfishPkg/Library') diff --git a/RedfishPkg/Library/JsonLib/JsonLib.c b/RedfishPkg/Library/JsonLib/JsonLib.c index 6c3373d..b7be4d6 100644 --- a/RedfishPkg/Library/JsonLib/JsonLib.c +++ b/RedfishPkg/Library/JsonLib/JsonLib.c @@ -811,6 +811,30 @@ JsonObjectSetValue ( } /** + The function is used to delete a JSON key from the given JSON bject + + @param[in] JsonObj The provided JSON object. + @param[in] Key The key of the JSON value to be deleted. + + @retval EFI_ABORTED Some error occur and operation aborted. + @retval EFI_SUCCESS The JSON value has been deleted from this JSON object. + +**/ +EFI_STATUS +EFIAPI +JsonObjectDelete ( + IN EDKII_JSON_OBJECT JsonObj, + IN CONST CHAR8 *Key + ) +{ + if (json_object_del ((json_t *)JsonObj, (const char *)Key) != 0) { + return EFI_ABORTED; + } else { + return EFI_SUCCESS; + } +} + +/** The function is used to get the number of elements in a JSON array. Returns or 0 if JsonArray is NULL or not a JSON array. -- cgit v1.1