JSON 입력

F# 출력

JSON을 F#으로란?

F#은 데이터에 판별 공용체와 레코드를 사용합니다. FSharp.DataThoth.Json 같은 라이브러리가 JSON 직렬화를 처리합니다. 이 도구는 JSON 구조에서 F# 타입(레코드, 공용체)을 생성하여 타입 안전성으로 API 응답을 파싱할 수 있습니다. JSON 사양이 입력 형식을 정의합니다.

변환은 브라우저에서 실행됩니다. 구성 패널에서 타입 이름을 설정하세요. 서버로 전송되는 데이터는 없습니다. C# 상호 운용에는 JSON을 C#으로를 사용하세요.

이 도구 사용 방법

1

JSON 붙여넣기 또는 업로드

JSON을 붙여넣거나 파일을 업로드하세요. 구성 패널에서 타입 이름을 설정하세요. 잘못된 JSON은 오류를 표시합니다. JSON 검증기를 사용하여 먼저 구문을 확인하세요.

2

F# 출력 검토

오른쪽 패널에 생성된 F# 타입이 표시됩니다. Thoth.Json 또는 FSharp.Data를 추가하고 필요에 따라 인코더/디코더를 도출하세요.

3

복사 또는 다운로드

<strong>복사</strong> 또는 <strong>다운로드</strong>를 사용하세요. JSON을 먼저 포매팅하려면 JSON 포매터를, 검증에는 JSON 검증기를 사용하세요.

JSON을 F#으로 변환 예제

JSON 객체에서 F# 타입을 생성하는 예제입니다.

예제: 구독자 레코드

JSON 입력:

입력

생성된 F# 출력:

출력

JSON을 F#으로 변환이 유용한 경우

REST API를 사용하는 F# 또는 .NET 애플리케이션을 구축할 때 응답 페이로드에 대한 타입이 지정된 모델이 필요합니다. 샘플 응답을 여기에 붙여넣으면 Thoth.Json 또는 FSharp.Data에 사용할 수 있는 F# 레코드나 공용체를 얻을 수 있습니다. 특정 값을 먼저 추출하려면 jq를 사용하세요.

자주 묻는 질문

선택적 필드에 Option 사용?

선택적 JSON 필드에는 Option<T>를 사용하세요. Thoth.Json과 FSharp.Data는 null과 누락된 키를 처리합니다. Option 없이는 누락된 필드가 디코딩 오류를 일으킵니다.

Thoth.Json vs FSharp.Data?

Thoth.Json은 F# 스타일 인코더/디코더를 사용합니다. FSharp.Data는 타입 공급자와 JSON 파싱을 제공합니다. 둘 다 생성된 타입과 함께 작동합니다. 프로젝트 의존성에 따라 선택하세요.

데이터가 안전한가요?

예. 생성은 완전히 브라우저에서 실행됩니다. JSON이나 코드는 서버로 전송되지 않습니다.

레코드 vs 클래스?

F# 레코드는 불변이고 간결합니다. 생성기는 일반적으로 레코드를 생성합니다. 변경 가능한 상태나 C# 상호 운용이 필요한 경우 클래스를 사용하세요.

Suave나 Giraffe와 함께 사용할 수 있나요?

예. Giraffe는 인기 있는 F# 웹 프레임워크입니다. 생성된 타입은 HTTP 핸들러와 함께 작동합니다. 요청/응답 직렬화에는 Thoth.Json 또는 유사한 라이브러리를 사용하세요.

관련 도구

FSharp.Data, Thoth.Json, JSON 사양, RFC 8259, F#.