gpt4 book ai didi

json - 从文件中解析未知的 JSON 并迭代到它

转载 作者:IT王子 更新时间:2023-10-29 01:26:25 26 4
gpt4 key购买 nike

我有这样的 JSON:

{
"store_name": "Barry's Farmer's Market",
"foods": {
"apple": "5.91",
"peach": "1.84",
"carrot": "6.44",
"beans": "3.05",
"orange": "5.75",
"cucumber": "6.42"
},
"store_location": "Corner of Elm Tree Hill and 158th Street"
}

我想使用 map[string]interface{} 将其解析为未知的 JSON:

package main

import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
)

func main() {
var parsed map[string]interface{}

f, err := ioutil.ReadFile("input.txt")
if err != nil {
fmt.Printf("Error: %v", err)
os.Exit(1)
}

err = json.Unmarshal(f, &parsed)
for k, v := range parsed {
//fmt.Println(parsed["foods"])
fmt.Println(k + string(v))
}

}

考虑到“v”不会转换为字符串,而且我想调整“foods”中所有值的范围,你能帮我吗?我想我错过了什么......

最佳答案

如果您阅读 the documentation for json.Unmarshal ,你可以看到它将使用什么类型,并以此为基础编写你的代码;或使用 fmt.Printf("%T",v)在运行时查看它是什么类型。

err = json.Unmarshal(f, &parsed)
for k, v := range parsed["foods"].(map[string]interface{}) {
fmt.Println(k, v)
}

工作 Playground 示例:https://play.golang.org/p/nczV5qA41h

关于json - 从文件中解析未知的 JSON 并迭代到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com