JSON to Go 구조체 변환기는 JSON 문서를 설명하는 Go 유형 선언으로 바꾸므로,구조체를 손으로 입력하는 대신 인코딩/json 으로 동일한 데이터를 언마샬링할 수 있습니다. 모든 JSON 객체는 Go 구조체가 되고,모든 필드는 원래 이름으로 다시 매핑하는 json: "key" 태그를 가지고 있으며,스칼라 유형은 값에서 추론됩니다: JSON 문자열은 문자열이 되고,정수는 int 가 되고,소수는 float64 가 되고,참과 거짓은 bool 이 되고,null 은 인터페이스{}가 됩니다. 페이로드를 붙여넣으면 바로 컴파일할 수 있는 유형 블록을 다시 얻을 수 있습니다.
실제 API 응답에서 Go 구조체를 작성하는 것은 지루하고 미묘하게 잘못되기 쉽기 때문에 존재합니다. 필드 이름은 내보내고 Go 규칙을 따라야 하므로 id 는 ID 가 되고 user_url 은 UserURL 이 되며 json 태그는 정확한 원본 키 또는 json 을 보존해야 합니다. Unmarshal 은 필드를 자동으로 건너뜁니다. 중첩된 객체는 자체 구조체가 필요하며 객체 배열은 모든 요소가 가진 모든 키를 포괄하는 단일 구조체가 필요합니다. 깊이 중첩된 응답에서 이를 수행하는 것은 실수가 발생하는 곳입니다. 변환기는 이러한 규칙을 일관되게 적용합니다: 중첩된 객체는 인라인 구조체가 되고 객체 배열은 병합되므로 일부 요소에만 나타나는 키가 생성된 유형에 여전히 존재합니다.
모든 것이 브라우저에서 실행됩니다. 붙여넣은 JSON 은 자체 장치에서 JavaScript 로 구문 분석 및 분석되므로 업로드,로그 또는 저장되는 것이 없으며 페이지가 로드된 후에도 연결되지 않은 네트워크에서 도구가 계속 작동합니다. 페이로드가 개인 API 응답이거나 아무데도 보내지 않을 키와 값이 포함된 경우 중요합니다. 루트 유형의 이름을 바꾸고,더 넓은 유형이 필요할 때 정수를 int64 로 전환하고,인코딩된 출력에서 0 값을 생략하려는 경우 모든 태그에 생략을 추가할 수 있습니다.
입력 상자에 JSON 개체 또는 배열을 붙여 넣습니다. 자신의 데이터를 사용하기 전에 생성된 구조체의 모양을 보려면 먼저 샘플을 로드합니다.
User 또는 ApiResponse 와 같은 최상위 구조체의 이름을 입력합니다. 유효한 내보낸 Go 식별자로 정리되어 작성된 대로 컴파일됩니다.
정수에 대해 int 또는 int64를 선택하고 구조체가 JSON으로 다시 인코딩될 때 빈 필드를 생략하려면 omitempty를 켭니다.
변환 을 클릭하여 구조체 정의를 빌드한 다음 Go 파일에 복사합니다. 잘못된 JSON 이 정확한 파서 메시지와 함께 보고되므로 수정할 수 있습니다.
모든 필드는 json: "original_key"태그를 유지하므로 json.Unmarshal 은 Go 필드의 이름이 규칙을 따르도록 변경되는 경우에도 정확한 JSON 이름으로 데이터를 다시 매핑합니다.
키는 내보내고 공통 이니셜은 대문자로 표시되므로 id 는 ID 가 되고 user_url 은 UserURL 이 되며 html_body 는 HTMLBody 가 되어 골린트 기대치와 일치합니다.
중첩된 JSON 객체는 어떤 깊이에도 인라인 구조 리터럴이 되므로 전체 모양이 하나의 선언에 있으므로 단일 블록으로 붙여넣을 수 있습니다.
객체 배열은 모든 요소가 가진 모든 키를 포괄하는 하나의 구조체를 생성하고 키에 대한 충돌하는 값 유형은 실패하는 대신 인터페이스{}로 대체됩니다.
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
Sort the keys of a JSON object alphabetically, recursively through nested objects, with optional array sorting. Ascending or descending, minify or pretty. Client-side, no signup.
Convert JSON into a PHP array literal. Choose short [] or array() syntax, indentation, and an optional variable assignment, then copy the result. 100% in your browser.
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!