json - 如何从Golang中具有json对象列表的文件中读取单个json对象

标签 json go unmarshalling

[
  {
   "name" : "abc",
   "age" : 10
  },
  {
   "name" : "def",
   "age" : 12
  }
]

所以这是我的text.json文件,它具有json对象数组,所以我要实现的是从文件中读取单个对象,而不是使用golang读取整个​​json对象的数组。我认为ioutil.ReadAll()不会给我想要的结果。

最佳答案

您可以打开文件,然后使用json.Decoder开始读取文件。读取数组第一个元素的代码草图如下所示:

decoder:=json.NewDecoder(f)
t,err:=decoder.Token()
tok, ok:=t.(json.Delim) 
if ok {
   if tok=='[' {
       for decoder.More() {
         decoder.Decode(&oneEntry)
       }
   }
}

您需要添加错误处理。

关于json - 如何从Golang中具有json对象列表的文件中读取单个json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59298089/

相关文章:

Java JSON 序列化和 JSONObject

ios - JSON 框架解析错误

mysql - 有没有办法在 SQL 中使用 json 对象

java - 您将如何使用 JAXB 解码以下内容

go - 是否有一个包可以在 golang 中编码进出 x-www-form-urlencoded

JSON 列作为字符串传递给 View - Laravel - Vuejs2

intellij-idea - 带有 Golang 的 IntelliJ 抛出 IllegalArgumentException

go - 取消用户特定的 goroutines

javascript - Golang 使用 AJAX 上传文件

json - Golang解码数组给出运行时错误: index out of range