JSON 파일 임포트 예시
다음 예제에서는 다양한 유형의 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]}
}
]
}
}
| 경로 | 배열 취소 사용 | 배열 취소 사용 안 함 |
|---|---|---|
| /response/docs/docs | 다음 열과 값으로 하나의 기록을 작성합니다.
|
다음 열과 값으로 하나의 기록을 작성합니다.
|
| /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"
}
}
}