私は第三者のソフトウェアからjsonを解析しようとしています。このようなjsonを返しますJson Parsing in Golang
{
"top1/dir1": "10",
"top1/dir2": "20",
"top1/dir3": "30",
"top2/diff_val1": "40"
}
JSONLintはこれが有効なjsonだと言います。しかし、私はこれをゴランとどのように解析できるのか分かりませんでした。
上記のjsonファイルを解析するために使用したコード(明確にするために、別のstackoverflowポストからコードを取得しました)。私は行くの実行main.goを行うと、私は
$が行く以下のエラーを取得
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 2016年6月19日夜09時53分57秒JSON実行:ゴーにすることはできませんアンマーシャリングオブジェクトをmain.mytypeタイプの値 終了ステータス1
このフォーマットを別のライブラリ "github.com/Jeffail/gabs"で解析しようとしましたが、失敗しました。これは有効なjsonであるため、これは解析できるとはかなり確信していますが、わかりません。
私はgolangのjson構文解析に精通しています。この特定の形式は '{" top1/dir1 ":" 10 "、" top1/dir2 ":" 20 "}'を構文解析することができないものです。 –
@SivaramKannanあなたはおそらく、私たちが答えを見つけるのを手助けすることです、あなたの質問はかなり曖昧なので、downvotes。 –
あいまいな質問を残念。私はフォーマットされたjsonと私が解析するために使用しているgoコードで私の元の投稿を更新しました。 –