在Go语言中,可以使用json.RawMessage类型来解析没有固定格式的JSON数据。json.RawMessage是一个字节切片类型,用于延迟解析JSON数据。

下面是一个示例代码,演示如何解析没有固定格式的JSON数据:

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	// 假设有一个没有固定格式的JSON数据
	rawData := `{"name":"John","age":30}`
	
	// 创建一个json.RawMessage类型的变量
	var raw json.RawMessage

	// 将原始数据解析到raw变量中
	err := json.Unmarshal([]byte(rawData), &raw)
	if err != nil {
		fmt.Println("解析JSON数据失败:", err)
		return
	}

	// 使用RawMessage类型进行进一步解析
	var data map[string]interface{}
	err = json.Unmarshal(raw, &data)
	if err != nil {
		fmt.Println("解析JSON数据失败:", err)
		return
	}

	// 打印解析后的数据
	fmt.Println("Name:", data["name"])
	fmt.Println("Age:", data["age"])
}

上述代码中,首先将原始数据解析到json.RawMessage类型的变量raw中。然后,使用json.Unmarshal函数将raw变量的内容解析到一个map[string]interface{}类型的变量data中。最后,可以通过data变量获取解析后的数据。

请注意,由于没有固定的JSON格式,所以在解析时需要进行错误处理。如果解析失败,可以根据具体情况进行处理。

golang 解析没有固定格式的json数据

原文地址: https://www.cveoy.top/t/topic/hKDI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录