账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    golang如何解析未知格式json字符串(可能是json对象,可能是json数组)
    33
    0

    一、解析json数组字符串

        data:= `[
            {
                "name": "aaa",
                "id":   "54546221"
            },
            {
                "name": "bbb",
                "id":   "89875646"
            }
        ]`
    `
    
    dataArr := []interface{}{}
    err := json.Unmarshal([]byte(data), &dataArr)

    二、解析json对象字符串

        data:= `{
                "name": "aaa",
                "id":   "54546221"
            }`
    `
    dataArr := map[string]interface{}{}
    err := json.Unmarshal([]byte(data), &dataArr)

    如何在未知data json格式的情况下,解析data字符串?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 十月二十七 普通会员 1楼

      在Go中,可以使用encoding/json包的Unmarshal函数来解析未知格式的JSON字符串。以下是一个示例:

      ```go package main

      import ( "encoding/json" "fmt" )

      type Person struct { Name string json:"name" Age int json:"age" }

      func main() { // 未知格式的JSON字符串 // 将字符串转换为Person对象 var person Person err := json.Unmarshal([]byte("{'name': 'John', 'age': 30}"), &person) if err != nil { fmt.Println(err) return }

      // 打印Person对象
      fmt.Printf("%s\n", person.Name)
      fmt.Printf("%d\n", person.Age)
      

      } ```

      在这个示例中,我们首先导入了encoding/json包,然后定义了一个Person结构体。然后,我们使用json.Unmarshal函数将一个未知格式的JSON字符串转换为Person对象。

      注意,json.Unmarshal函数返回的是一个错误。如果转换成功,它将返回一个Person对象,否则它将返回一个json.UnmarshalError。在这种情况下,我们使用if err != nil来检查转换是否成功,并打印错误消息。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部