From: Abner Chang <abner.ch...@amd.com> Add JSON delete object function to remove JSON object from the given JSON paylaod.
Signed-off-by: Abner Chang <abner.ch...@amd.com> Cc: Nickle Wang <nick...@nvidia.com> Cc: Igor Kulchytskyy <ig...@ami.com> --- RedfishPkg/Include/Library/JsonLib.h | 17 +++++++++++++++++ RedfishPkg/Library/JsonLib/JsonLib.c | 24 ++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/RedfishPkg/Include/Library/JsonLib.h b/RedfishPkg/Include/Library/JsonLib.h index 8f31d934148..ea252291a0e 100644 --- a/RedfishPkg/Include/Library/JsonLib.h +++ b/RedfishPkg/Include/Library/JsonLib.h @@ -656,6 +656,23 @@ JsonObjectSetValue ( IN EDKII_JSON_VALUE Json ); +/** + 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 + ); + /** 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. diff --git a/RedfishPkg/Library/JsonLib/JsonLib.c b/RedfishPkg/Library/JsonLib/JsonLib.c index 6c3373d205c..b7be4d61766 100644 --- a/RedfishPkg/Library/JsonLib/JsonLib.c +++ b/RedfishPkg/Library/JsonLib/JsonLib.c @@ -810,6 +810,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. -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113645): https://edk2.groups.io/g/devel/message/113645 Mute This Topic: https://groups.io/mt/103676803/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-