我想在Go中找到一个很好的方法,它将打印出JSON文件中的键和值。希望没有做所有的结构的东西。它出来很难看。如何在Go(Golang)中阅读“很好”的关键和价值?
回答
您可以使用map[string]interface{}
类型。
package main
import (
"encoding/json"
"fmt"
)
func main() {
var jsonBlob = []byte(`{"thing": [
{"Name": "Platypus", "Order": "Monotremata"},
{"Name": "Quoll", "Order": "Dasyuromorphia"}
]}`)
var jsonthing map[string]interface{}
err := json.Unmarshal(jsonBlob, &jsonthing)
if err != nil {
fmt.Println("error:", err)
}
for k, v := range jsonthing {
fmt.Println("key:", k)
fmt.Println("value:", v)
}
}
这将打印出以下:
▶ go run main.go
key: thing
value: [map[Name:Platypus Order:Monotremata] map[Name:Quoll Order:Dasyuromorphia]]
一个清洁的选择是使用go-simplejson
库。
首先获得该软件包:go get github.com/bitly/go-simplejson
package main
import (
"fmt"
simplejson "github.com/bitly/go-simplejson"
)
func main() {
var jsonBlob = []byte(`{"thing": [
{"Name": "Platypus", "Order": "Monotremata"},
{"Name": "Quoll", "Order": "Dasyuromorphia"}
]}`)
json, err := simplejson.NewJson(jsonBlob)
if err != nil {
fmt.Println(err)
}
b, err := json.EncodePretty()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(b))
}
这会给你:
▶ go run main.go
{
"thing": [
{
"Name": "Platypus",
"Order": "Monotremata"
},
{
"Name": "Quoll",
"Order": "Dasyuromorphia"
}
]
}
是的,我的问题是从.json文件中获取 –
说我给你一个json文件。 data.json我想打印出所有的键和值。您可以轻松地在javascript中使用for循环执行此操作。 Go有没有一种很好的方法来操作它。多数民众赞成我的问题 –
你想操纵JSON或打印JSON?请清楚,因为它们都需要不同的解决方案。您可以使用'ioutil.ReadFile'将'.json'文件读入'[] byte''中。 – nii236
- 1. 在Go中阅读json文件的值
- 2. 如何阅读FFMPEG与Go?
- 3. FiIeInfo.CreationTime。如何阅读正确的价值?
- 4. Json的关键和价值
- 5. 阅读JSlider的价值
- 6. 阅读偏好值
- 7. 很好的阅读outlook mailitem属性
- 8. 关于多边形算法的一些很好的阅读
- 9. Golang:如何阅读ReverseProxy的响应体?
- 10. Golang CSV阅读:无关“现场错误
- 11. 在Go中枚举注册表值(Golang)
- 12. 如何阅读免费的文字和商店价值?
- 13. 阅读D3键的值
- 14. 阅读两个关键字
- 15. FFMPEG阅读关键帧
- 16. 如何阅读键:在Java中
- 17. 阅读JSON在Javascript中没有键值
- 18. 如何在Vim中“扩展”文本,变成一种很好的阅读方式?
- 19. 我如何读取关键值对,并订阅价值变化 - 即最后值缓存?这里
- 20. 如何在golang模板中使用continue和break关键字?
- 21. 获得价值的关键
- 22. 如何获得下一键和上一个关键的价值的价值在一个阵列
- 23. 关键字找到很好的教程
- 24. 阅读Golang中的YAML文件
- 25. 如何阅读功能键?
- 26. 如何阅读web.config HTML标记中的APP关键设置
- 27. 的zabbix发现:阅读JSON价值
- 28. JS - 提交表格的阅读价值
- 29. 如何更好地阅读在python
- 30. 如何区分数字键盘和条码阅读器的关键事件?
有什么你已经尝试过? – surajsn
我尝试了所有我能找到的东西。 –