JSON 파일 임포트 예시

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 4분
  • 다음 예제에서는 다양한 유형의 JSON 데이터와 각 행에 필요한 경로를 가져오는 방법을 보여 줍니다. 가져오는 JSON 파일은 다음 지침을 따라야 합니다.

    파일 형식 데이터 원본을 만드는 방법에 대한 단계별 지침은 을 파일 형식 데이터 소스 작성참조하십시오.

    • 배열의 경우 JSON 각 행의 경로는 배열 루트 요소를 두 번 지정해야 합니다(예: /incidents/incidents).
    • JSON 파일은 RFC-4627을 따라야 합니다. 예를 들어, 단일 쉼표는 다음 이름과 값을 구분해야 합니다. 개체 내의 이름은 고유해야 합니다.
    • @element, [index] 또는 text()와 같은 조건자뿐만 아니라 자식, 형제 또는 조상과 같은 축은 지원되지 않습니다.

    단순 배열

    • 각 행의 경로: /incidents/incidents
    • 결과: 기록 2개
    이 예에서 각 행의 경로에는 어레이 루트 노드 /incidents 두 번 포함됩니다. 이는 배열을 가져올 때 필요합니다.
    {  
       "source":"HI",
       "incidents":[  
          {  
             "number":"INC0000001",
             "short_description":"Can't read email"
          },
          {  
             "number":"INC0000002",
             "short_description":"Error loading XML file"
          }
       ]
    }
    

    두 번째 수준의 배열

    • 각 행의 경로: /problems/data/data
    • 결과: 기록 3개
    이 예제에서 각 행의 경로에는 배열 루트 노드 /data 가 두 번 포함됩니다.
    {  
       "problems":{  
          "id":"0",
          "data":[  
             {  
                "number":"PRBTEST001",
                "short_description":"testsd1"
             },
             {  
                "number":"PRBTEST002",
                "short_description":"testsd2"
             },
             {  
                "number":"PRBTEST003",
                "short_description":"testsd3"
             }
          ]
       }
    }
    

    중첩 배열

    • 각 행의 경로: /problems/problems/data/data
    • 결과: 기록 3개
    이 예제에서 각 행의 경로에는 두 배열의 루트 노드(두 번, /problems/data)가 포함됩니다.
    {  
       "problems": [  
             {
          "id":0,
          "data":[  
                {  
                   "number":"PRBTEST001",
                   "short_description":"testsd1"
                },
                {  
                   "number":"PRBTEST002",
                   "short_description":"testsd2"
                },
                {  
                   "number":"PRBTEST003",
                   "short_description":"testsd3"
                }
              ]
           }
        ]	
    }
    

    하위(중첩된) 배열 지원

    기본적으로 import는 하위(중첩된) 배열을 지원하지 않습니다. 데이터 원본 뷰에서 배열 취소 확인란의 선택을 취소하여 지원을 사용하도록 설정할 수 있습니다. 다음 표에서는 자식 배열 지원을 활성화 및 비활성화할 때의 다양한 동작을 설명합니다.

    { 
      "response":{
        "docs":[ 
          { 
            "id":"id_val",
            "childrenArray":[1,2,3],
            "anotherArray":[{"key1":"value1"}, {"key1": "value2"}],
            "elementWithArray":{"childrenArray":[1,2,3]}
          }
        ]
      }
    }
    
    표 1. 하위 배열 동작
    경로 배열 취소 사용 배열 취소 사용 안 함
    /response/docs/docs 다음 열과 값으로 하나의 기록을 작성합니다.
    • ID: id_val
    • elementWithArray : {}
    childrenArray 또는 anotherArray와 같이 기록에서 발견된 배열은 임포트 테이블에서 열로 생성되지 않습니다.
    다음 열과 값으로 하나의 기록을 작성합니다.
    • ID: id_val
    • 어린이 배열 : [1, 2, 3]
    • anotherArray : [{"키1" : "값1"}, {"키1" : "값2"}]
    • elementWithArray : {"어린이 배열" : [1, 2, 3]}
    /response/docs/docs/anotherArray/anotherArray 각각 하나의 열(key1)이 있는 두 개의 기록을 작성합니다. 각각 하나의 열(key1)이 있는 두 개의 기록을 작성합니다.
    /response/docs/docs/childrenArray/childrenArray 작동하지 않으며 배열의 값이 키-값 구조에 있지 않기 때문에 경로가 항상 JSON 객체를 참조해야 함 오류를 반환합니다. 작동하지 않으며 배열의 값이 키-값 구조에 있지 않기 때문에 경로가 항상 JSON 객체를 참조해야 함 오류를 반환합니다.

    고아 배열

    • 각 행의 경로:
    • 결과: 기록 2개
    [  
       {  
          "number":"PRBTEST001",
          "short_description":"testsd1"
       },
       {  
          "number":"PRBTEST002",
          "short_description":"testsd2"
       }
    ]
    

    배열 대신 여러 요소

    • 각 행의 경로: /problems/problem
    • 결과: 기록 3개
    중요사항:
    이 형식은 권장되지 않습니다. JSON 파일은 객체 내의 이름이 고유해야 한다는 RFC-4627을 따라야 합니다. 대신 JSON 배열을 사용합니다.
    {  
       "problems":{  
          "title":"2 problems",
          "problem":{  
             "number":"PRBTEST001",
             "short_description":"testsd1"
          },
          "problem":{  
             "number":"PRBTEST002",
             "short_description":"testsd2"
          }
       },
       "problems":{  
          "title":"1 problem",
          "problem":{  
             "number":"PRBTEST005",
             "short_description":"testsd5"
          }
       }
    }