nlib
|
JSON Patch (RFC-6902)を適用するためのクラスです。 [詳解]
#include "nn/nlib/msgpack/JsonPatch.h"
静的公開メンバ関数 | |
static errno_t | Apply (MpObject *obj, MpObject *patch, size_t *index) noexcept |
JSON Patchを適用します。失敗した場合はobj はこの関数の実行前の状態に巻き戻されます。 [詳解] | |
JSON Patch (RFC-6902)を適用するためのクラスです。
JsonPatchBuilder
等を用いて構築されたJSON Patchドキュメントを適用します。 JsonPatch.h の 95 行目に定義があります。
|
staticnoexcept |
JSON Patchを適用します。失敗した場合はobj
はこの関数の実行前の状態に巻き戻されます。
[in] | obj | JSON Patchを適用する対象となるJSONに対応するMpObject |
[in] | patch | JSON Patchに対応するMpObject |
[in] | index | JSON NULL でない場合、JSON Patchの適用が失敗した場合に失敗した箇所を指し示すインデックスが格納される |
0 | 成功した場合 |
EINVAL | obj , patch がNULL だった、又はpatch が配列でなかったり必要なキーが指定されていない、又は"op" キーに有効な演算が指定されていない場合 |
ENOMEM | メモリ確保に失敗した場合 |
EPERM | test 演算に失敗した場合 |
ENOENT | obj 内に存在する必要があった場所が存在しなかった場合 |
EILSEQ | 指定されたJSON Pointerに文法的な間違いがある場合 |
patch
に記述されているJSON Patchの演算を順番に適用します。 全て成功した場合には0を返し、途中で失敗した場合にはそれ以外の値を返します。 途中で失敗した場合は、失敗した演算の箇所をindex
に格納し(0が最初)、obj
のJSONをこの関数の実行前の状態に巻き戻します。 patch
については、この関数が成功した場合も失敗した場合も破壊されることに注意してください。 © 2012-2017 Nintendo Co., Ltd. All rights reserved.