使用空字段解析json

使用空字段解析json,json,parsing,go,Json,Parsing,Go,如何在没有字段的情况下从json解析数据?我不工作 需要获取int 1234和其他数据(id、所有者) 代码 游乐场: 没有。在另一个问题中,他们使用json的“foreach”。其他问题有些不同,是的,但相同的规则适用于您的情况。使用[]接口{}来对结果进行一般性解组,并在以后进行断言。如果您确信数据结构是一致的,那么可以通过实现func(*RawMessage)UnmarshalJSON:,编写自己的解组器。然后,您可以根据需要将原始消息解码为不同的结构。请注意,如果传入的json不一致(例

如何在没有字段的情况下从json解析数据?我不工作

需要获取int 1234和其他数据(id、所有者)

代码

游乐场:

没有。在另一个问题中,他们使用json的“foreach”。其他问题有些不同,是的,但相同的规则适用于您的情况。使用
[]接口{}
来对结果进行一般性解组,并在以后进行断言。如果您确信数据结构是一致的,那么可以通过实现func(*RawMessage)UnmarshalJSON:,编写自己的解组器。然后,您可以根据需要将原始消息解码为不同的结构。请注意,如果传入的json不一致(例如,总是一个数字后跟一个对象),那么这样做可能会变得非常混乱。
{"response":[1234,{"id":1,"owner":3},{"id":3,"owner":5}]}
package main

import (
    "encoding/json"
    "fmt"
)

type SectionDB_Exam_Add struct {
    id          int         `json:"id"`
    Owner           int         `json:"owner"`
}

type CreateExamType struct {
    Response []SectionDB_Exam_Add
}

var tests = `{"response":[{"id":1,"owner":3},{"id":3,"owner":5}]}`
var how_parse_this = `{"response":[1234,{"id":1,"owner":3},{"id":3,"owner":5}]}`

func main() {

    var var_CreateExamType = &CreateExamType{}

    var b_Data = []byte(tests)
    //var b_Data = []byte(how_parse_this)       // How parse 1234 and other data?

    json.Unmarshal(b_Data, var_CreateExamType)

    for _, mt := range var_CreateExamType.Response {
              fmt.Println(mt.Owner)
        }

}