Reputation: 13
I have a json which i want to serve with go lang and Gin-Gonic I'm able to serve it like this
func main() {
r := gin.Default()
r.GET("/api/auth", func(c *gin.Context) {
jsonData := []byte(`[{
"date": "gAAAAABgupdG-1IDgOD1uqauANLdt4KC8yHazbPt5g==",
"hwid": "GyFfDNpk56WcKOCAgKqIr8ELI0nAhe2ZgjEdLr5UHblBXeS-5pl2YIunZHwrbQoZv6gtD-ORLAwSQu7futgRTZUr5sNXnkjGurT60EJGRHn_S",
"hwid_resets": "TljjFnU_QkmYgQw9bfqHlFXSw1uQPsznwSylQ8_awHoxOKoYaCEFPg==",
"id": "gAAAAABgupdGg6POUjVAUMazxKmsIB2D-gu5zRZWK2eaqJk-OMohG-JQL00hAD2SpEB-mnJYJChBGPQ==",
"key": "gAAAAABgupdGq_HbYNJWkl7btrZUrxdO3wlwS8_KWUh69EXwxmTiSsB_GynUVcxpbOOKSQmfR_FoRmgfwz6-LI3yp7D-VIY-X6B7DSl0nAK2s",
"notes": "gAAAAABgupdGSSMNcQXVFzyIbT8mdRan204BDkNLH-jCaVMMMQxbGBx0jej3_2hjSFpagBa5BNU1WqsIR1og-A==",
"total_logins": "gAAAAABgupdGEF_9XEIbHefOuNuvxypTh9orUKS0qC8Kbvql7xJw1wn8aT0wVGsFxVllJBFw==",
}]`)
c.Data(200, "application/json", jsonData)
})
}
but i want to serve it with c.JSON i'm getting issues using it i'm trying something like this
r := gin.Default()
r.GET("/api/auth", func(c *gin.Context) {
jsonData := `[{
"date": "gAAAAABgupdG-1IDgOD1uqauANLdt4KC8yHazbPt5g==",
"hwid": "GyFfDNpk56WcKOCAgKqIr8ELI0nAhe2ZgjEdLr5UHblBXeS-5pl2YIunZHwrbQoZv6gtD-ORLAwSQu7futgRTZUr5sNXnkjGurT60EJGRHn_S",
"hwid_resets": "TljjFnU_QkmYgQw9bfqHlFXSw1uQPsznwSylQ8_awHoxOKoYaCEFPg==",
"id": "gAAAAABgupdGg6POUjVAUMazxKmsIB2D-gu5zRZWK2eaqJk-OMohG-JQL00hAD2SpEB-mnJYJChBGPQ==",
"key": "gAAAAABgupdGq_HbYNJWkl7btrZUrxdO3wlwS8_KWUh69EXwxmTiSsB_GynUVcxpbOOKSQmfR_FoRmgfwz6-LI3yp7D-VIY-X6B7DSl0nAK2s",
"notes": "gAAAAABgupdGSSMNcQXVFzyIbT8mdRan204BDkNLH-jCaVMMMQxbGBx0jej3_2hjSFpagBa5BNU1WqsIR1og-A==",
"total_logins": "gAAAAABgupdGEF_9XEIbHefOuNuvxypTh9orUKS0qC8Kbvql7xJw1wn8aT0wVGsFxVllJBFw==",
}]`
c.JSON(200, jsonData)
})
but when i open the route on my browser i get this
"[{\n\t\t\t\"date\": \"gAAAAABgupdG-1IDgOD1uqauANLdt4KC8yHazbPt5g==\",\n\t\t\t\"hwid\": \"GyFfDNpk56WcKOCAgKqIr8ELI0nAhe2ZgjEdLr5UHblBXeS-5pl2YIunZHwrbQoZv6gtD-ORLAwSQu7futgRTZUr5sNXnkjGurT60EJGRHn_S\",\n\t\t\t\"hwid_resets\": \"TljjFnU_QkmYgQw9bfqHlFXSw1uQPsznwSylQ8_awHoxOKoYaCEFPg==\",\n\t\t\t\"id\": \"gAAAAABgupdGg6POUjVAUMazxKmsIB2D-gu5zRZWK2eaqJk-OMohG-JQL00hAD2SpEB-mnJYJChBGPQ==\",\n\t\t\t\"key\": \"gAAAAABgupdGq_HbYNJWkl7btrZUrxdO3wlwS8_KWUh69EXwxmTiSsB_GynUVcxpbOOKSQmfR_FoRmgfwz6-LI3yp7D-VIY-X6B7DSl0nAK2s\",\n\t\t\t\"notes\": \"gAAAAABgupdGSSMNcQXVFzyIbT8mdRan204BDkNLH-jCaVMMMQxbGBx0jej3_2hjSFpagBa5BNU1WqsIR1og-A==\",\n\t\t\t\"total_logins\": \"gAAAAABgupdGEF_9XEIbHefOuNuvxypTh9orUKS0qC8Kbvql7xJw1wn8aT0wVGsFxVllJBFw==\",\n\t\t}]"
which clearly is not a valid json i'm new to go lang i finished a course which it doesn't explain what i want to do that's why i came here to ask thanks in advance
Upvotes: 0
Views: 369
Reputation: 51467
c.Data
writes the given bytes verbatim, setting the Content-Type
to application/json
, so the receiver knows how to interpret data.
c.JSON
first converts the input data into JSON. In your case the input data is a string, so it is marshaled to convert to a JSON string.
Upvotes: 1