json

문제 신고 소스 보기

모듈 json은 JSON 관련 함수의 Starlark 모듈입니다.

회원

decode

unknown json.decode(x)

디코딩 함수는 하나의 위치 매개변수인 JSON 문자열을 허용합니다. 이 문자열은 문자열이 나타내는 Starlark 값을 반환합니다.
  • 'null', 'true', 'false'는 None, True, False로 파싱됩니다.
  • 숫자는 정수 또는 소수점과 지수를 포함하는 경우 부동 소수점으로 파싱됩니다. JSON에는 유한하지 않은 값에 대한 구문이 없지만 매우 큰 값은 무한으로 디코딩될 수 있습니다.
  • JSON 객체가 고정되지 않은 새로운 Starlark dict로 파싱됩니다. 동일한 키 문자열이 객체에서 두 번 이상 발생하면 키의 마지막 값이 유지됩니다.
  • JSON 배열이 새 고정되지 않은 Starlark 목록으로 파싱됩니다.
x가 유효한 JSON 인코딩이 아니면 디코딩에 실패합니다.

매개변수

매개변수 설명
x 필수 입력란

encode

string json.encode(x)

인코딩 함수는 한 가지 필수 위치 인수를 허용하며, 이 인수를 상황에 따라 JSON으로 변환합니다.

  • None, True, False는 각각 'null', 'true', 'false'로 변환됩니다.
  • 정수는 크기에 관계없이 10진수 정수로 인코딩됩니다. 일부 디코더는 매우 큰 정수를 디코딩하지 못할 수도 있습니다.
  • 부동 소수점은 소수점 값이나 지수 또는 둘 다를 사용하여 인코딩되며 숫자 값이 정수인 경우에도 마찬가지입니다. 유한하지 않은 부동 소수점 값을 인코딩하는 것은 오류입니다.
  • 문자열 값은 값을 나타내는 JSON 문자열 리터럴로 인코딩됩니다. 각 페어링이 없는 서로게이트가 U+FFFD로 대체됩니다.
  • dict는 키 객체로 JSON 객체로 인코딩됩니다. 키가 문자열이 아닌 경우 오류가 발생합니다.
  • 목록 또는 튜플은 JSON 배열로 인코딩됩니다.
  • 구조체와 유사한 값은 필드 이름 순서대로 JSON 객체로 인코딩됩니다.
애플리케이션 정의 유형은 자체 JSON 인코딩을 정의할 수 있습니다. 다른 값을 인코딩하면 오류가 발생합니다.

매개변수

매개변수 설명
x 필수 입력란

in_dent 삽입

string json.encode_indent(x, *, prefix='', indent='\t')

array_indent 함수는 json.indent(json.encode(x), ...)과 동일합니다. 형식 지정 매개변수에 대한 설명은 indent를 참고하세요.

매개변수

매개변수 설명
x 필수 입력란
prefix 기본값 = ''
indent 기본값 = '\t'

들여쓰기 간격

string json.indent(s, *, prefix='', indent='\t')

들여쓰기 함수는 유효한 JSON 인코딩된 문자열의 들여쓰기된 형식을 반환합니다. 각 배열 요소 또는 객체 필드는 새 줄에 표시됩니다. 접두어 문자열부터 시작하여 중첩 깊이에 따라 하나 이상의 들여쓰기 문자열 사본까지 표시됩니다. 이 함수는 필수 위치 매개변수 1개, JSON 문자열, 그리고 2개의 선택적인 키워드 전용 문자열 매개변수(프리픽스와 들여쓰기 간격)를 허용합니다. 이 매개변수는 새로운 각 줄의 프리픽스와 들여쓰기 단위를 지정합니다. 입력이 유효하지 않으면 함수가 실패하거나 잘못된 출력을 반환할 수 있습니다.

매개변수

매개변수 설명
s 필수 입력란
prefix 기본값 = ''
indent 기본값 = '\t'