[xml] 구글 프로토콜 버퍼 대 JSON 대 XML [닫기]

나는 장점과 단점을 알고 싶다

  • Google 프로토콜 버퍼
  • JSON
  • XML

두 개의 응용 프로그램에 대해 하나의 공통 프레임 워크를 구현하고 싶습니다. 하나는 Perl과 다른 하나는 Java입니다. 따라서 Perl & Java 기술 모두에서 사용할 수있는 공통 서비스를 만들고 싶습니다.

둘 다 웹 응용 프로그램입니다.

이것에 대한 당신의 소중한 생각과 제안을 알려주십시오. 나는 구글에서 많은 링크를 보았지만 모두 의견이 혼합되어있다.



답변

제이슨

  • 인간 판독 가능 / 편집 가능
  • 스키마를 미리 몰라도 파싱 가능
  • 뛰어난 브라우저 지원
  • XML보다 덜 장황하다

XML

  • 인간 판독 가능 / 편집 가능
  • 스키마를 미리 몰라도 파싱 가능
  • SOAP 등의 표준
  • 우수한 툴링 지원 (xsd, xslt, sax, dom 등)
  • 꽤 장황한

프로토 버프

  • 매우 조밀 한 데이터 (작은 출력)
  • 스키마를 몰라도 견고하게 디코딩하기 어렵다 (데이터 형식은 내부적으로 모호하며 명확하게하기 위해 스키마가 필요함)
  • 매우 빠른 처리
  • 인간의 눈을위한 것이 아닙니다 (고밀도 바이너리)

모두 대부분의 플랫폼에서 잘 지원됩니다.

개인적으로 요즘에는 XML을 거의 사용하지 않습니다. 소비자가 브라우저 또는 공용 API 인 경우 json을 사용하는 경향이 있습니다. 내부 API의 경우 성능을 위해 protobuf를 사용하는 경향이 있습니다. 헤더 또는 별도의 엔드 포인트를 통해 퍼블릭 API를 모두 제공하는 것도 효과적입니다.


답변