我有一个json文件,内容是{"data":"test"} {"data":"test"} {"data":"test"} {"data":"test"} {"data":"test"},每个json之间是没有逗号分隔的,使用go怎么读取每一个json
时间: 2024-01-23 08:01:57 浏览: 60
jsons:在Go中读取和写入.jsons文件
在Go语言中,可以使用`encoding/json`包来读取每一个JSON对象。首先,你需要将整个JSON文件读取为一个字符串,然后使用`json.Unmarshal()`函数将字符串解析为JSON对象。由于每个JSON对象之间没有逗号分隔,你需要手动将每个JSON对象提取出来进行解析。
以下是一个示例代码,演示如何读取每一个JSON对象:
```go
package main
import (
"encoding/json"
"fmt"
"strings"
)
func main() {
// 假设你已经将整个JSON文件读取为一个字符串
jsonStr := `{"data":"test"} {"data":"test"} {"data":"test"} {"data":"test"} {"data":"test"}`
// 将字符串按空格分割为每个JSON对象
jsonObjs := strings.Split(jsonStr, " ")
// 遍历每个JSON对象并解析
for _, jsonObj := range jsonObjs {
// 解析JSON对象
var data map[string]interface{}
err := json.Unmarshal([]byte(jsonObj), &data)
if err != nil {
fmt.Println("解析JSON对象出错:", err)
continue
}
// 打印解析结果
fmt.Println("解析结果:", data)
}
}
```
运行以上代码,你将得到每个JSON对象的解析结果。
阅读全文