PHP Editor Strawberry 소개: YAML은 간결하고 읽기 쉬운 구문을 가지며 구성 파일 및 데이터 교환에 널리 사용되는 경량 데이터 직렬화 형식입니다. PHP에서는 YAML 구문 분석 라이브러리를 사용하여 YAML 데이터를 구조 또는 문자열일 수 있는 복잡한 객체로 역마샬링할 수 있습니다. 이를 통해 개발자는 구성 파일 및 기타 데이터를 편리하게 처리하고 조작할 수 있습니다. 복잡한 애플리케이션을 구축하든 구성 관리를 단순화하든 YAML 구문 분석은 PHP에서 중요한 역할을 합니다.
yaml을 map[string]map[interface{}]string
와 같은 복잡한 개체로 역마샬링해 보세요.
문제는 구조인 string
和 source
之间的 interface{}
부분을 구별할 수 있기를 원한다는 것입니다.
분명히 yaml은 source
结构中,所以我必须实现 unmarshaler
인터페이스로 역마샬링하는 방법을 모릅니다.
그런데 언마샬링 과정의 전반적인 상황을 잘 이해하지 못합니다. 일반적으로 *yaml.node
并在每个节点上调用 func unmarshalyaml(value *node) error
를 수동으로 반복해야 한다고 가정합니다.
놀이공원 가기
type source struct { id string `yaml:"id"` name string `yaml:"name"` logoid string `yaml:"logoid"` url string `yaml:"url"` } type unft struct { itemmeta map[string]map[interface{}]string `yaml:"item_meta"` // could be // itemmeta map[string]map[string]string `yaml:"item_meta"` // or // itemmeta map[string]map[source]string `yaml:"item_meta"` }
https://www.php.cn/link/50f9999b2ee27e222c5513e945e9ea9c
매핑된 유형을 변경하지 않고 유지해야 하는 경우(예: 사용자 정의 키 유형을 추가하지 않고) unft에서 언마샬러를 구현하고 any
를 사용하여 다시 매핑할 수도 있습니다.
https://www.php.cn/link/543378fb36a83810ded2d725f2b6c883
위 내용은 YAML을 구조체나 문자열 등의 복잡한 개체로 역마샬링합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!