tipos tipo tabla pokemon pokedex planta debilidades agua acero jquery json go marshalling unmarshalling

jquery - tabla - No se puede descomprimir la cadena en el valor Go de tipo int64



tabla de tipos pokemon go (2)

Tengo estructura

type tySurvey struct { Id int64 `json:"id,omitempty"` Name string `json:"name,omitempty"` }

Hago json.Marshal escribo bytes JSON en la página HTML. jQuery modifica el campo de name en el objeto y codifica el objeto utilizando jQueries JSON.stringify y jQuery publica una cadena en el controlador Go.

campo de id codificado como cadena.

Enviado: {"id":1} Recibido: {"id":"1"}

El problema es que json.Unmarshal no puede desmarcar ese JSON porque la id ya no es un entero.

json: cannot unmarshal string into Go value of type int64

¿Cuál es la mejor manera de manejar tales datos? No deseo convertir manualmente todos los campos. Deseo escribir código compacto, libre de errores.

Cotizaciones no es tan malo. JavaScript no funciona bien con int64.

Me gustaría aprender la manera fácil de desmarcar a json con valores de cadena en valores int64.


Enviado: {"id": 1} Recibido: {"id": "1"}

Vamos a arreglar esto.

Su caso es -> publicación http ''localhost: 8080 / users / blahblah'' id = 1

Cámbielo a -> publicación http ''localhost: 8080 / users / blahblah'' id: = 1

No hay necesidad de hacer "json: id, string" cosa, solo "json: id" es suficiente. ¡Buena suerte!


Esto se maneja agregando una ,string a su etiqueta de la siguiente manera:

type tySurvey struct { Id int64 `json:"id,string,omitempty"` Name string `json:"name,omitempty"` }

Esto se puede encontrar a la mitad de la documentación de Marshal .

Tenga en cuenta que no puede decodificar la cadena vacía especificando omitempty ya que solo se utiliza cuando se codifica.