我想在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
我嘗試了所有我能找到的東西。 –