valueof()

매개변수로 주어진 배열이나 복합 객체에서 특정 키, 인덱스에 해당하는 위치의 값을 반환합니다.

문법

valueof(COMPOUND_OBJ_EXPR, KEY_EXPR)
COMPOUND_OBJ_EXPR
맵이나 배열과 같은 복합 객체를 반환하는 표현식
KEY_EXPR
맵의 키, 배열의 인덱스와 같이 요소의 특정한 위치의 값을 가리키는 표현식

설명

맵이나 배열에서 특정 키에 해당하는 값을 반환합니다. 다음과 같은 예외 상황에서, null을 반환합니다.

  • 복합 객체 표현식에 맵이나 배열이 아닌 객체를 입력했을 때
  • 맵의 키와 키 표현식의 타입이 일치하지 않을 때
  • 배열의 인덱스 숫자와 키 표현식의 타입이 일치하지 않을 때

사용 예

  1. 원소 개수가 3개인 배열에서 2번 항목을 추출 (배열에서 인덱스는 0부터 시작)

    json "{}" 
    | eval foods=array("Apple","Banana","Cucumber") 
    | eval food=valueof(foods,2)
    | # 반환값: "Cucumber"
    
  2. 맵 객체에서 키가 "b"인 항목을 추출

    json "{}" 
    | eval foods=dict("a","Apple","b","Banana","c","Cucumber" ) 
    | eval food = valueof(foods,"b")
    | # 반환값: "Banana"