JSON 파서
원시 문자열을 JSON으로 파싱합니다.
JSON 문자열(원시 JSON 또는 Markdown 코드 블록으로 감싼 JSON)을 구조화된 데이터로 파싱하여 지정된 필드를 추출하고 개별 출력으로 노출함으로써, JSON 구문 분석, LLM/VLM 출력 처리, 구조화된 데이터 추출, 그리고 JSON 문자열을 사용할 수 있는 워크플로 데이터로 변환해야 하는 구성 파싱 워크플로를 지원합니다.
이 블록의 작동 방식
이 블록은 JSON 문자열을 파싱하고 지정된 필드를 개별 출력으로 추출합니다. 이 블록은:
JSON 문자열 입력을 받습니다(일반적으로 LLM/VLM 블록 또는 워크플로 입력에서 옴)
JSON 내용을 감지하고 추출합니다:
Markdown으로 감싼 JSON을 처리합니다:
Markdown 코드 블록 안에 감싸진 JSON을 찾습니다 (
json ...)이 형식은 LLM/VLM 응답에서 매우 흔합니다(예: GPT 응답)
여러 개의 markdown JSON 블록이 발견되면 첫 번째 블록만 파싱합니다
Markdown 태그 안에서 JSON 내용을 추출합니다
원시 JSON 문자열을 처리합니다:
Markdown 블록이 없으면 전체 문자열을 JSON으로 파싱하려고 시도합니다
표준 JSON 형식 문자열을 지원합니다
JSON 내용을 파싱합니다:
Python의 JSON 파서를 사용하여 문자열을 JSON 객체/딕셔너리로 변환합니다
파싱 오류를 우아하게 처리합니다(파싱에 실패하면 모든 필드에 대해 None을 반환)
예상 필드를 추출합니다:
다음에 지정된 각 필드의 값을 가져옵니다
expected_fields매개변수각 예상 필드에 대해 파싱된 JSON에서 해당 키를 조회합니다
필드 값을 반환합니다(또는 필드가 없으면 None)
오류 상태를 설정합니다:
error_status로 설정됩니다True예상 필드 중 적어도 하나를 파싱된 JSON에서 가져올 수 없는 경우error_status로 설정됩니다False모든 예상 필드가 발견되면(여러 개의 Markdown 블록이 있어도 첫 번째 블록만 파싱됨)오류 상태는 항상 출력에 포함되므로, 하위 블록에서 파싱 성공 여부를 확인할 수 있습니다
필드를 출력으로 노출합니다:
다음의 각 필드는
expected_fields필드 이름을 가진 별도의 출력이 됩니다필드 값은 파싱된 JSON에서 추출되어 출력으로 제공됩니다
누락된 필드는 None으로 설정됩니다
모든 출력은 다음을 사용해 참조할 수 있습니다
$steps.block_name.field_name구문
파싱된 데이터를 반환합니다:
출력에는 다음이 포함됩니다:
error_status(boolean)과 모든 예상 필드필드에는 JSON에서 추출된 값이 들어갑니다(없으면 None)
출력은 이후 워크플로 단계에서 사용할 수 있습니다
이 블록은 JSON을 반환하는 LLM/VLM 출력 처리, JSON 문자열에서 구조화된 구성 추출, 그리고 JSON 응답을 워크플로에서 사용할 수 있는 데이터로 파싱하는 데 특히 유용합니다. LLM이 JSON을 Markdown 코드 블록으로 감싸는 일반적인 경우도 처리합니다.
일반적인 사용 사례
LLM/VLM 출력 처리: 대규모 언어 모델과 시각 언어 모델의 JSON 출력 파싱(예: GPT JSON 응답 파싱, LLM 출력에서 구조화된 데이터 추출, VLM JSON 응답 처리)을 수행하여 LLM/VLM 출력 처리 워크플로를 지원합니다
구조화된 데이터 추출: 워크플로에서 사용할 JSON 문자열로부터 구조화된 데이터를 추출합니다(예: 구성 매개변수 추출, JSON 응답 파싱, 구조화된 필드 추출). 구조화된 데이터 추출 워크플로를 지원합니다
구성 파싱: JSON 구성 문자열을 워크플로 매개변수로 파싱합니다(예: 모델 구성 파싱, 워크플로 매개변수 추출, JSON 설정 파싱). 구성 파싱 워크플로를 지원합니다
JSON 응답 처리: API나 모델의 JSON 응답을 처리합니다(예: API JSON 응답 파싱, JSON에서 필드 추출, JSON 데이터 처리). JSON 응답 처리 워크플로를 지원합니다
동적 매개변수 추출: 워크플로 단계에서 사용할 수 있도록 JSON 문자열에서 동적 매개변수를 추출합니다(예: JSON에서 모델 ID 추출, 동적 구성 파싱, 매개변수 동적 추출). 동적 매개변수 워크플로를 지원합니다
데이터 형식 변환: JSON 문자열을 구조화된 워크플로 데이터로 변환합니다(예: JSON을 워크플로 입력으로 변환, 워크플로 사용을 위한 JSON 파싱, JSON 필드 추출). 데이터 형식 변환 워크플로를 지원합니다
다른 블록에 연결하기
이 블록은 JSON 문자열을 받아 파싱된 필드 출력을 생성합니다:
LLM/VLM 블록 뒤에 JSON 출력을 구조화된 데이터로 파싱하기 위해(예: LLM JSON 출력 파싱, VLM JSON 필드 추출, 모델 JSON 응답 처리), LLM/VLM에서 파서로 이어지는 워크플로를 지원합니다
워크플로 입력 뒤에 JSON 입력 매개변수를 파싱하기 위해(예: JSON 구성 입력 파싱, JSON 매개변수 추출, JSON 워크플로 입력 처리), 입력-파서 워크플로를 지원합니다
모델 블록 앞에 파싱된 필드를 모델 매개변수로 사용하기 위해(예: 파싱된 model_id를 모델에 사용, 파싱된 구성을 모델 설정에 사용, 파싱된 매개변수를 모델에 제공), 파서-모델 워크플로를 지원합니다
로직 블록 이전 파싱된 필드를 조건에 사용하기 위해(예: Continue If에서 파싱된 값 사용, 파싱된 필드에 따라 필터링, 파싱된 데이터를 사용해 의사 결정), 파서-로직 워크플로를 지원합니다
데이터 저장 블록 앞에서 파싱된 필드 값을 저장하기 위해(예: 파싱된 JSON 필드 저장, 파싱된 값 기록, 파싱된 데이터 저장), 파서-저장소 워크플로를 지원합니다
워크플로 출력에서 파싱된 필드를 최종 출력으로 제공하기 위해(예: JSON 파싱 출력, 구조화된 데이터 출력, 파싱된 필드 출력), 파서-출력 워크플로를 지원합니다
요구 사항
이 블록은 JSON 문자열 입력(원시 JSON 또는 Markdown 코드 블록으로 감싼 JSON)을 필요로 합니다. The expected_fields parameter는 출력으로 추출할 JSON 필드를 지정합니다(필드 이름은 유효한 JSON 키여야 함). The error_status field name은 예약되어 있으며 다음에서 사용할 수 없습니다 expected_fields. 이 블록은 원시 JSON 문자열과 Markdown 코드 블록으로 감싼 JSON 모두를 지원합니다(json ... ). 여러 개의 Markdown 블록이 발견되면 첫 번째 블록만 파싱됩니다. 파싱에 실패하거나 예상 필드가 누락되면 필드는 None으로 설정되고 error_status 은 True로 설정됩니다. 모든 예상 필드는 이후 워크플로 단계에서 참조할 수 있는 별도의 출력이 됩니다.
유형 식별자
단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/json_parser@v1 워크플로우에 이 블록을 단계로 추가하려면.
속성
이름
유형
설명
참조
name
str
이 단계에 대한 고유 식별자를 입력하세요..
❌
raw_json
str
파싱할 JSON 문자열입니다. 원시 JSON 문자열(예: '{"key": "value"}')이거나 Markdown 코드 블록으로 감싼 JSON(예: json {"key": "value"} ). Markdown으로 감싼 JSON은 LLM/VLM 응답에서 흔합니다. 여러 개의 Markdown JSON 블록이 있으면 첫 번째 블록만 파싱됩니다. 문자열은 Python의 JSON 파서를 사용해 파싱되며, 지정된 필드가 출력으로 추출됩니다..
✅
expected_fields
List[str]
파싱된 JSON에서 추출할 JSON 필드 이름의 목록입니다. 각 필드는 이후 워크플로 단계에서 참조할 수 있는 별도의 출력이 됩니다(예: $steps.block_name.field_name). JSON에 존재하는 필드는 해당 값과 함께 추출되며, 누락된 필드는 None으로 설정됩니다. 'error_status' 필드 이름은 예약되어 있으며(항상 출력에 포함됨) 이 목록에서 사용할 수 없습니다. 필드 이름은 JSON 키와 정확히 일치해야 합니다..
❌
이 참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.
입력 및 출력 바인딩
사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 JSON 파서 버전 v1 을 가지고 있는지.
입력 및 출력 바인딩
입력
raw_json(언어 모델 출력): 파싱할 JSON 문자열입니다. 원시 JSON 문자열(예: '{"key": "value"}')이거나 Markdown 코드 블록으로 감싼 JSON(예:json {"key": "value"}). Markdown으로 감싼 JSON은 LLM/VLM 응답에서 흔합니다. 여러 개의 Markdown JSON 블록이 있으면 첫 번째 블록만 파싱됩니다. 문자열은 Python의 JSON 파서를 사용해 파싱되며, 지정된 필드가 출력으로 추출됩니다..
마지막 업데이트
도움이 되었나요?