unmarshal tag marshall marshal leer golang and xml json encoding go

xml - tag - marshal golang json



¿Etiquetas XML y JSON para una estructura Golang? (1)

Las etiquetas Go están separadas por espacios. Del manual :

Por convención, las cadenas de etiquetas son una concatenación de pares de "valores" de clave opcionalmente separados por espacios. Cada clave es una cadena no vacía que consta de caracteres que no son de control distintos del espacio (U + 0020 ''''), comillas (U + 0022 ''"'') y dos puntos (U + 003A '':''). Cada valor se cita utilizando los caracteres U + 0022 ''"'' y la sintaxis literal de la cadena Ir.

Entonces, lo que quieres escribir es:

type Foo struct { Id int64 `xml:"id,attr" json:"id"` Version int16 `xml:"version,attr" json:"version"` }

Tengo una aplicación que puede generar como JSON o XML según los encabezados de solicitud HTTP. Puedo lograr el resultado correcto para cualquiera de los dos agregando las etiquetas correctas a las estructuras que estoy usando, pero no puedo averiguar cómo especificar las etiquetas para JSON y XML.

Por ejemplo, esto se serializa para corregir XML:

type Foo struct { Id int64 `xml:"id,attr"` Version int16 `xml:"version,attr"` }

... y esto genera JSON correcto:

type Foo struct { Id int64 `json:"id"` Version int16 `json:"version"` }

... pero esto no funciona para ninguno de los dos:

type Foo struct { Id int64 `xml:"id,attr",json:"id"` Version int16 `xml:"version,attr",json:"version"` }