>  기사  >  백엔드 개발  >  모든 정보를 유지하면서 모든 요소를 ​​매핑하지 않고 json을 구조체로 역정렬화하는 방법

모든 정보를 유지하면서 모든 요소를 ​​매핑하지 않고 json을 구조체로 역정렬화하는 방법

王林
王林앞으로
2024-02-05 21:36:04417검색

如何将 json 解组为结构体而不映射所有元素,同时保留所有信息

질문 내용

큐에서 JSON 개체를 받았습니다. 개체의 일부를 처리하고 다른 대기열로 보내기 전에 업데이트하고 싶습니다.

입력이 있는 경우

으아아아

새 출력을 추가하고 비슷한 메시지를 보내기 전에 일부 정보를 onetwo 가져와 계산하고 싶습니다

으아아아

데이터를 더 잘 처리할 수 있도록 JSON을 비슷한 구조로 역마샬링하고 싶습니다

으아아아

그러나 많은 필드가 이 애플리케이션과 관련이 없고 다른 필드는 변경될 수 있으므로 모든 필드를 매핑하고 싶지는 않습니다.

내가 시도한 것들

모든 필드를 json.RawMessage

에 매핑하려고 합니다. 으아아아

단, 구조체를 마샬링할 때 ExtraFields에 포함된 필드는 포함되지 않습니다.

으아아아

또한 한 요소에는 유용한 메시지를, 다른 필드에는 다른 정보를 포함하여 전체 메시지를 구조체에 저장하는 사용자 정의 역마샬링을 작성해 보았습니다.

으아아아

하지만 이것은 매우 혼란스러워지고 있으며 더 깨끗한 솔루션을 원했습니다.

이 작업을 수행할 수 있는 방법이 있습니까? 구조체로 역마샬링하지 않고 원본 map[string] 接口{}的唯一选择?


정답


다음과 같이 사용자 정의 역마샬러를 ​​작성할 수 있습니다.

https://www.php.cn/link/a73d9b34d6f7c322fa3e34c633b1297d

으아아아

위 내용은 모든 정보를 유지하면서 모든 요소를 ​​매핑하지 않고 json을 구조체로 역정렬화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제