JSON 클레임 변환

이 문서에서는 Azure AD B2C(Azure Active Directory B2C)에서 Identity Experience Framework 스키마의 JSON 클레임 변환을 사용하는 방법에 관한 예를 제공합니다. 자세한 내용은 클레임 변환을 참조하세요.

CreateJsonArray

클레임 값으로 JSON 단일 요소 배열을 만듭니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputClaim 문자열 출력 클레임에 추가할 클레임입니다.
OutputClaim outputClaim 문자열 이 클레임 변환을 호출하고 나면 생성되는 JSON 문자열입니다.

CreateJsonArray의 예

다음 예제에서는 JSON 단일 배열을 만듭니다.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • inputClaim: someone@example.com
  • 출력 클레임:
    • outputClaim: ["someone@contoso.com"]

GenerateJson

클레임 값 또는 상수를 사용하여 JSON 문자열을 생성합니다. 점 표기법 뒤에 오는 경로 문자열은 JSON 문자열에 데이터를 삽입할 위치를 나타내는 데 사용됩니다. 점으로 분할한 후 정수는 JSON 배열의 인덱스로 해석되고 정수가 아닌 값은 JSON 개체의 인덱스로 해석됩니다.

이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim 점 표기법 뒤에 오는 모든 문자열 문자열 클레임 값이 삽입될 JSON의 JsonPath
InputParameter 점 표기법 뒤에 오는 모든 문자열 문자열 상수 문자열 값이 삽입될 JSON의 JsonPath
OutputClaim outputClaim 문자열 생성된 JSON 문자열

JSON 배열

JSON 개체를 JSON 배열에 추가하려면 배열의 배열 이름인덱스의 형식을 사용합니다. 배열은 0을 기반으로 합니다. 숫자를 건너뛰지 않고 0에서 N으로 시작합니다. 배열의 항목에는 모든 개체가 포함될 수 있습니다. 예를 들어 첫 번째 항목에는 appappId의 2개 개체가 포함됩니다. 두 번째 항목에는 program의 단일 개체가 포함됩니다. 세 번째 항목에는 color, language, logobackground의 4개 개체가 포함됩니다.

다음 예제에서는 JSON 배열을 구성하는 방법을 보여 줍니다. emails 배열은 동적 값이 있는 InputClaims를 사용합니다. values 배열은 정적 값이 있는 InputParameters를 사용합니다.

<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="mailToName1" TransformationClaimType="emails.0.name" />
    <InputClaim ClaimTypeReferenceId="mailToAddress1" TransformationClaimType="emails.0.address" />
    <InputClaim ClaimTypeReferenceId="mailToName2" TransformationClaimType="emails.1.name" />
    <InputClaim ClaimTypeReferenceId="mailToAddress2" TransformationClaimType="emails.1.address" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="values.0.app" DataType="string" Value="Mobile app" />
    <InputParameter Id="values.0.appId" DataType="string" Value="123" />
    <InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
    <InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
    <InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
    <InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
    <InputParameter Id="values.2.background" DataType="string" Value="White" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>

이 클레임 변환의 결과는 다음과 같습니다.

{
  "values": [
    {
      "app": "Mobile app",
      "appId": "123"
    },
    {
      "program": "Holidays"
    },
    {
      "color": "Yellow",
      "language": "Spanish",
      "logo": "contoso.png",
      "background": "White"
    }
  ],
  "emails": [
    {
      "name": "Joni",
      "address": "joni@contoso.com"
    },
    {
      "name": "Emily",
      "address": "emily@contoso.com"
    }
  ]
}

입력 클레임과 입력 매개 변수 모두에서 JSON 배열을 지정하려면 InputClaims 요소에서 배열을 0에서 N으로 시작해야 합니다. 그런 다음, InputParameters 요소에서 마지막 인덱스의 인덱스를 계속합니다.

다음 예제에서는 입력 클레임과 입력 매개 변수 모두에 정의된 배열을 보여 줍니다. values 배열인 values.0의 첫 번째 항목은 입력 클레임에 정의됩니다. 입력 매개 변수는 하나의 인덱스(values.1)에서 2개의 인덱스(values.2)까지 계속됩니다.

<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="app" TransformationClaimType="values.0.app" />
    <InputClaim ClaimTypeReferenceId="appId" TransformationClaimType="values.0.appId"  />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
    <InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
    <InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
    <InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
    <InputParameter Id="values.2.background" DataType="string" Value="White" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>

GenerateJson의 예

다음 예제에서는 상수 문자열과 "email" 및 "OTP"의 클레임 값을 기반으로 JSON 문자열을 생성합니다.

<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.to.0.email" />
    <InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="personalizations.0.dynamic_template_data.otp" />
    <InputClaim ClaimTypeReferenceId="copiedEmail" TransformationClaimType="personalizations.0.dynamic_template_data.verify-email" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="template_id" DataType="string" Value="d-4c56ffb40fa648b1aa6822283df94f60"/>
    <InputParameter Id="from.email" DataType="string" Value="service@contoso.com"/>
    <InputParameter Id="personalizations.0.subject" DataType="string" Value="Contoso account email verification code"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

다음 클레임 변환은 SendGrid(타사 메일 공급자)에 전송된 요청의 본문이 될 JSON 문자열 클레임을 출력합니다. JSON 개체의 구조는 InputParameters의 점 표기법의 ID와 InputClaims의 TransformationClaimTypes로 정의됩니다. 점 표기법의 숫자는 배열을 의미합니다. 값은 InputClaims의 값과 InputParameters의 “Value” 속성에서 가져옵니다.

  • 입력 클레임:
    • email, 변환 클레임 유형 personalizations.0.to.0.email: “someone@example.com”
    • copiedEmail, 변환 클레임 유형 personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp, 변환 클레임 유형 personalizations.0.dynamic_template_data.otp “346349”
  • 입력 매개 변수:
    • template_id: “d-4c56ffb40fa648b1aa6822283df94f60”
    • from.email: “service@contoso.com”
    • personalizations.0.subject “Contoso 계정 메일 확인 코드”
  • 출력 클레임:
    • outputClaim:

      {
        "personalizations": [
          {
            "to": [
              {
                "email": "someone@example.com"
              }
            ],
            "dynamic_template_data": {
              "otp": "346349",
              "verify-email" : "someone@example.com"
            },
            "subject": "Contoso account email verification code"
          }
        ],
        "template_id": "d-989077fbba9746e89f3f6411f596fb96",
        "from": {
          "email": "service@contoso.com"
        }
      }
      

GenerateJson의 또 다른 예

다음 예제에서는 상수 문자열과 클레임 값을 기반으로 JSON 문자열을 생성합니다.

<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="customerEntity.email" />
    <InputClaim ClaimTypeReferenceId="objectId" TransformationClaimType="customerEntity.userObjectId" />
    <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="customerEntity.firstName" />
    <InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="customerEntity.lastName" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="customerEntity.role.name" DataType="string" Value="Administrator"/>
    <InputParameter Id="customerEntity.role.id" DataType="long" Value="1"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

다음 클레임 변환은 REST API에 전송된 요청의 본문이 될 JSON 문자열 클레임을 출력합니다. JSON 개체의 구조는 InputParameters의 점 표기법의 ID와 InputClaims의 TransformationClaimTypes로 정의됩니다. 값은 InputClaims의 값과 InputParameters의 “Value” 속성에서 가져옵니다.

  • 입력 클레임:
    • email, 변환 클레임 유형 customerEntity.email: “john.s@contoso.com”
    • objectId, 변환 클레임 유형 customerEntity.userObjectId “01234567-89ab-cdef-0123-456789abcdef”
    • givenName, 변환 클레임 유형 customerEntity.firstName “John”
    • surname, 변환 클레임 유형 customerEntity.lastName “Smith”
  • 입력 매개 변수:
    • customerEntity.role.name: “Administrator”
    • customerEntity.role.id 1
  • 출력 클레임:
    • requestBody:

      {
         "customerEntity":{
            "email":"john.s@contoso.com",
            "userObjectId":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GenerateJson 클레임 변환은 일반 문자열을 허용합니다. 입력 클레임에 JSON 문자열이 포함된 경우 해당 문자열은 이스케이프됩니다. 다음 예제에서 위의 CreateJsonArray의 이메일 출력, 즉 ["someone@contoso.com"]을(를) 입력 매개변수로 사용하면 이메일은 다음 JSON 클레임과 같이 표시됩니다:

  • 출력 클레임:
    • requestBody:

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GetClaimFromJson

JSON 데이터에서 지정된 요소를 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputJson 문자열 클레임 변환에서 항목을 가져오는 데 사용하는 클레임입니다.
InputParameter claimToExtract 문자열 추출할 JSON 요소의 이름입니다.
OutputClaim extractedClaim 문자열 이 클레임 변환을 호출하고 나면 생성되는 클레임입니다(claimToExtract 입력 매개 변수에 지정된 요소 값).

GetClaimFromJson의 예

다음 예제에서는 클레임 변환이 JSON 데이터에서 emailAddress 요소를 추출했습니다. {"emailAddress": "someone@example.com", "displayName": "Someone"}

<ClaimsTransformation Id="GetEmailClaimFromJson" TransformationMethod="GetClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="emailAddress" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="extractedEmail" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • 입력 매개 변수:
    • claimToExtract: emailAddress
  • 출력 클레임:
    • extractedClaim: someone@example.com

GetClaimFromJson의 또 다른 예

GetClaimFromJson 클레임 변환은 JSON 데이터에서 단일 요소를 가져옵니다. 앞의 예제에서는 emailAddress입니다. displayName을 가져오려면 다른 클레임 변환을 만듭니다. 예를 들면 다음과 같습니다.

<ClaimsTransformation Id="GetDispalyNameClaimFromJson" TransformationMethod="GetClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="displayName" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • 입력 매개 변수:
    • claimToExtract: displayName
  • 출력 클레임:
    • extractedClaim: Someone

GetClaimsFromJsonArray

JSON 데이터에서 지정된 요소의 목록을 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim jsonSourceClaim 문자열 JSON 페이로드가 있는 클레임입니다. 클레임 변환에서 클레임을 가져오는 데 사용하는 클레임입니다.
InputParameter errorOnMissingClaims boolean 클레임 중 하나가 없으면 오류를 throw할지 여부를 지정합니다.
InputParameter includeEmptyClaims 문자열 빈 클레임을 포함할지 여부를 지정합니다.
InputParameter jsonSourceKeyName 문자열 요소 키 이름입니다.
InputParameter jsonSourceValueName 문자열 요소 값 이름입니다.
OutputClaim 컬렉션 string, int, boolean, datetime 추출할 클레임 목록입니다. 클레임 이름은 jsonSourceClaim 입력 클레임에 지정된 이름과 같아야 합니다.

GetClaimsFromJsonArray의 예

다음 예에서 클레임 변환은 JSON 데이터에서 email(string), displayName(string), membershipNum(int), active(boolean) 및 birthDate(datetime) 클레임을 추출합니다.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:

    • jsonSourceClaim:

      [
        {
          "key": "email",
          "value": "someone@example.com"
        },
        {
          "key": "displayName",
          "value": "Someone"
        },
        {
          "key": "membershipID",
          "value": 6353399
        },
        {
          "key": "active",
          "value": true
        },
        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      ]
      
  • 입력 매개 변수:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: key
    • jsonSourceValueName: value
  • 출력 클레임:

    • email: "someone@example.com"
    • displayName: "Someone"
    • membershipID: 6353399
    • active: true
    • birthDate: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

문자열 컬렉션 JSON 요소에서 지정된 요소 목록을 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim jsonSourceClaim stringCollection JSON 페이로드를 사용하는 문자열 컬렉션 클레임입니다. 클레임 변환에서 클레임을 가져오는 데 사용하는 클레임입니다.
InputParameter errorOnMissingClaims boolean 클레임 중 하나가 없으면 오류를 throw할지 여부를 지정합니다.
InputParameter includeEmptyClaims 문자열 빈 클레임을 포함할지 여부를 지정합니다.
InputParameter jsonSourceKeyName 문자열 요소 키 이름입니다.
InputParameter jsonSourceValueName 문자열 요소 값 이름입니다.
OutputClaim 컬렉션 string, int, boolean, datetime 추출할 클레임 목록입니다. 클레임 이름은 jsonSourceClaim 입력 클레임에 지정된 이름과 같아야 합니다.

GetClaimsFromJsonArrayV2의 예

다음 예에서 클레임 변환은 JSON 데이터에서 email(string), displayName(string), membershipNum(int), active(boolean) 및 birthDate(datetime) 클레임을 추출합니다.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:

    • jsonSourceClaim[0] (문자열 컬렉션 첫 번째 요소):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (문자열 컬렉션 두 번째 요소):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (문자열 컬렉션 세 번째 요소):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (문자열 컬렉션 네 번째 요소):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (문자열 컬렉션 다섯 번째 요소):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • 입력 매개 변수:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: key
    • jsonSourceValueName: value
  • 출력 클레임:

    • email: "someone@example.com"
    • displayName: "Someone"
    • membershipID: 6353399
    • active: true
    • birthDate: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

JSON 데이터에서 지정된 숫자 (long) 요소를 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputJson 문자열 JSON 페이로드가 있는 클레임입니다. 클레임 변환에서 숫자 클레임을 가져오는 데 사용하는 클레임입니다.
InputParameter claimToExtract 문자열 추출할 JSON 요소의 이름입니다.
OutputClaim extractedClaim long 이 클레임 변환을 호출하고 나면 생성되는 클레임입니다(claimToExtract 입력 매개 변수에 지정된 요소 값).

GetNumericClaimFromJson의 예

다음 예제에서는 클레임 변환이 JSON 데이터에서 id 요소를 추출합니다.

<ClaimsTransformation Id="GetIdFromResponse" TransformationMethod="GetNumericClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="exampleInputClaim" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="id" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="membershipId" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • 입력 매개 변수

    • claimToExtract: id
  • 출력 클레임:

    • extractedClaim: 6353399

GetSingleItemFromJson

JSON 데이터에서 첫 번째 요소를 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputJson 문자열 JSON 페이로드가 있는 클레임입니다. 클레임 변환에서 JSON 데이터의 항목을 가져오는 데 사용하는 클레임입니다.
OutputClaim key 문자열 JSON의 첫 번째 요소 키입니다.
OutputClaim 문자열 JSON의 첫 번째 요소 값입니다.

GetSingleItemFromJson의 예

다음 예제에서는 클레임 변환이 JSON 데이터의 첫 번째 요소(이름)를 추출합니다.

<ClaimsTransformation Id="GetGivenNameFromResponse" TransformationMethod="GetSingleItemFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="json" TransformationClaimType="inputJson" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="givenNameKey" TransformationClaimType="key" />
    <OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • 출력 클레임:

    • key: givenName
    • value: Emilty

GetSingleValueFromJsonArray

JSON 데이터 배열에서 첫 번째 요소를 가져옵니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim inputJsonClaim 문자열 JSON 페이로드가 있는 클레임입니다. 클레임 변환에서 JSON 배열의 값을 가져오는 데 사용하는 클레임입니다.
OutputClaim extractedClaim 문자열 이 클레임 변환을 호출하고 나면 생성되는 클레임입니다(JSON 배열의 첫 번째 요소).

GetSingleValueFromJsonArray의 예

다음 예에서는 클레임 변환이 JSON 배열의 첫 번째 요소(이메일 주소)를 추출합니다. ["someone@example.com", "Someone", 6353399]

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • 입력 클레임:
    • inputJsonClaim: ["someone@example.com", "Someone", 6353399]
  • 출력 클레임:
    • extractedClaim: someone@example.com

XmlStringToJsonString

XML 데이터를 JSON 형식으로 변환합니다. 이 클레임 변환의 라이브 데모를 확인하세요.

요소 TransformationClaimType 데이터 형식 메모
InputClaim Xml 문자열 XML 페이로드가 있는 클레임입니다. 클레임 변환에서 데이터를 XML에서 JSON 형식으로 변환하는 데 사용하는 클레임입니다.
OutputClaim json : 문자열 이 클레임 변환을 호출하고 나면 생성되는 클레임입니다(JSON 형식의 데이터).
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

XmlStringToJsonString의 예

다음 예제에서는 클레임 변환이 다음 XML 데이터를 JSON 형식으로 변환합니다.

입력 클레임:

<user>
  <name>Someone</name>
  <email>someone@example.com</email>
</user>

출력 클레임:

{
  "user": {
    "name":"Someone",
    "email":"someone@example.com"
  }
}

다음 단계