假设JSON最初看起来像:
jsonData := {
"type": "text",
"contents": []
}
我想使用循环,以便在运行时将以下json附加到contents
的{{1}}字段中:
jsonData
最后输出如下:
{
"type": "bubble",
"hero": {
"size": "full"
},
"body": {
"spacing": "sm",
"contents": [
{
"size": "xl"
},
{
"type": "box",
"contents": [
{
"flex": 0
},
{
"flex": 0
}
]
}
]
},
"footer": {
"spacing": "sm",
"contents": [
{
"type": "button",
"action": {
"type": "uri"
}
},
{
"type": "button",
"action": {
"type": "uri"
}
}
]
}
},
答案 0 :(得分:0)
Golang是一种静态类型的语言,与Javascript(JSON中的JS代表Javascript)不同。 这意味着每个变量在编译时都必须具有指定的类型,这与JSON的工作方式完全不符。
但是Golang提供了一个内置的json
软件包,可以简化该过程。
在Go中使用JSON时,您应该了解3件事,并且可以进一步进行...
[]interface{}
)map[string]interface{}
)json
包可以完成所有工作(json.Marshal
和json.Unmarshal
)我发现,如果您阅读此文章,则可以了解其工作原理:
https://www.sohamkamani.com/blog/2017/10/18/parsing-json-in-golang/
https://blog.golang.org/json-and-go
答案 1 :(得分:-2)
package main
import (
"encoding/json"
"fmt"
)
//Member -
type Member struct {
Name string
Age int
Active bool
}
func main() {
// you data
mem := Member{"Alex", 10, true}
// JSON encoding
jsonBytes, err := json.Marshal(mem)
if err != nil {
panic(err)
}
// JSON to string for console
jsonString := string(jsonBytes)
fmt.Println(jsonString)
}
和“ JSON and Go”文档https://blog.golang.org/json-and-go。