ObjectAdapter.Add(Operation, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
"추가" 작업은 대상 위치가 참조하는 내용에 따라 다음 함수 중 하나를 수행합니다.
o 대상 위치가 배열 인덱스를 지정하면 지정된 인덱스의 배열에 새 값이 삽입됩니다.
o 대상 위치가 아직 존재하지 않는 개체 멤버를 지정하면 개체에 새 멤버가 추가됩니다.
o 대상 위치가 존재하는 개체 멤버를 지정하면 해당 멤버의 값이 바뀝니다.
작업 개체는 콘텐츠가 추가할 값을 지정하는 "value" 멤버를 포함해야 합니다.
예를 들면 다음과 같습니다.
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] }
작업이 적용되면 대상 위치는 다음 중 하나를 참조해야 합니다.
o 대상 문서의 루트입니다. 여기서 지정된 값은 대상 문서의 전체 콘텐츠가 됩니다.
o 기존 개체에 추가할 멤버입니다. 즉, 제공된 값이 지정된 위치에서 해당 개체에 추가됩니다. 멤버가 이미 있는 경우 지정된 값으로 바뀝니다.
o 기존 배열에 추가할 요소입니다. 여기서 제공된 값은 지정된 위치의 배열에 추가됩니다. 지정된 인덱스 이상에 있는 모든 요소는 한 위치로 오른쪽으로 이동합니다. 지정된 인덱스가 배열의 요소 수보다 크지 않아야 합니다. 배열의 끝을 인덱싱하는 데 "-" 문자를 사용하는 경우([RFC6901] 참조) 배열에 값을 추가하는 효과가 있습니다.
이 작업은 기존 개체 및 배열에 추가하도록 설계되었기 때문에 대상 위치가 존재하지 않는 경우가 많습니다. 포인터의 오류 처리 알고리즘이 호출되지만 이 사양은 해당 오류를 무시하고 지정된 값을 추가하기 위해 "add" 포인터에 대한 오류 처리 동작을 정의합니다.
그러나 개체 자체 또는 개체를 포함하는 배열이 있어야 하며 그렇지 않은 경우 오류로 남아 있습니다. 예를 들어 이 문서로 시작하는 대상 위치가 "/a/b"인 "add"입니다.
{ "a": { "foo": 1 } }
는 "a"가 있고 "b"가 해당 값에 추가되기 때문에 오류가 아닙니다. 이 문서의 오류는 다음과 같습니다.
{ "q": { "bar": 2 } }
"a"가 없으므로
public:
virtual void Add(Microsoft::AspNetCore::JsonPatch::Operations::Operation ^ operation, System::Object ^ objectToApplyTo);
public void Add (Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo);
abstract member Add : Microsoft.AspNetCore.JsonPatch.Operations.Operation * obj -> unit
override this.Add : Microsoft.AspNetCore.JsonPatch.Operations.Operation * obj -> unit
Public Sub Add (operation As Operation, objectToApplyTo As Object)
매개 변수
- operation
- Operation
추가 작업입니다.
- objectToApplyTo
- Object
작업을 적용할 개체입니다.