我想從第三方軟件解析json。它返回一個像這樣的jsonJSON在Golang中的解析
{
"top1/dir1": "10",
"top1/dir2": "20",
"top1/dir3": "30",
"top2/diff_val1": "40"
}
JSONLint說這是一個有效的json。但我無法想象如何用golang解析這個問題。
我用來解析上面的json文件的代碼(要清楚我從另一個stackoverflow文章中獲取代碼)。
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
)
type mytype []map[string]string
func main() {
var data mytype
file, err := ioutil.ReadFile("t1.json")
if err != nil {
log.Fatal(err)
}
err = json.Unmarshal(file, &data)
if err != nil {
log.Fatal(err)
}
fmt.Println(data)
}
當我做了去運行,main.go,我得到下面的錯誤
$去運行,main.go 2016年6月19日22時53分57秒的JSON:不能解組對象爲圍棋值類型main.mytype 退出狀態1
我曾嘗試解析這種格式與另一個庫 - 「github.com/Jeffail/gabs」,但沒有成功。由於這是一個有效的JSON,我很確定這可以解析,但我不知道如何。
我熟悉json在golang中的解析。這個特定的格式是我無法解析'{「top1/dir1」:「10,」top1/dir2「:」20「}' –
@SivaramKannan你應該指定你想要解析的最終結果是爲了幫助我們找到答案,現在你的問題非常模糊,因此降價。 –
對於模糊的問題抱歉。我使用格式化的json和我用來解析的代碼更新了原始文章。 –