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.