• Geek_58d909
    2019-07-12
    老师,我有一个疑问,struct如下:
    type Person struct {
    Age int
    Name string
    }
    使用easyjson如何将var p []Person 的数据转换json
    展开

    作者回复: type BasicInfo struct {
        Name string `json:"name"`
        Age int `json:"age"`
    }

    //easyjson:json
    type BasicInfoList []BasicInfo

    注意://easyjson:json 这个注释是必须要的,否则easyJson会忽略这个非struct类型

    func TestEasyJson(t *testing.T) {
        e1 := BasicInfo{"Mike", 10}
        e2 := BasicInfo{"Rose", 11}
        eList := BasicInfoList{e1, e2}
        v, _ := eList.MarshalJSON()
        fmt.Println(string(v))
    }

    //output:
    [{"name":"Mike","age":10},{"name":"Rose","age":11}]

     1
     2
  • 碧雪天虹
    2019-10-24
    ~/go
    ~/go_learning
    ~/go_learning/code/ch43/easyjson

    都配置到GOPATH环境变量了, 但是在~/go_learning/code/ch43/easyjson目录下执行
    ~/go/bin/easyjson -all struct_def.go 还是提示
    Error parsing struct_def.go: file '~/go_learning/code/ch43/easyjson/struct_def.go' is not in GOPATH

    windows 和 centos 下都是这样
    展开

    作者回复: 源码要位于GOPATH/src路径下。
    可以按如下步骤解决:
    1. cp -r ~/go_learning/code/ch43/easyjson ~/go_learning/code/ch43/easyjson/src

    2. export GOPATH=~/go_learning/code/ch43/easyjson:$GOPATH

    这样就可以了

     1
     1
  • Jee
    2019-05-26
    老师 打扰下 我mac里 go bin 里没有 easyjson可执行文件 是为什么呢

    作者回复: 如果没有你自己用$GOPATH/src里的源码build一下生产即可

    
     1
  • Geek_3c1bf0
    2019-05-17
    老师,对于不定格式的Json,Python语言直接Json.loads就可以了,在Go中该如何处理呢?

    作者回复: 可以利用interface{}来完成。参见 http://songran.net/2017/03/08/golang_parse_json/

    
     1
  • cute太胖
    2020-01-29
    老师,有个问题,在生成的 ejStruct_easyjson.go 文件中,
    import (
        src "_/Users/apple/GoProjects/BasicLearning/src"
    这个路径报错,提示 can't find package in any of ... (from $GOPATH) ...(from $GOROOT),使用 go env GOPATH 查看了 $GOPATH: /Users/apple/GoProjects/BasicLearning:/Users/apple/go,是哪里不对呢
    展开
    
    
  • Dom_秋
    2020-01-21
    func easyjson6a975c40EncodeCh47(out *jwriter.Writer, in Response) {
        out.RawByte('{')
        first := true
        _ = first // 这是为什么呢
            // 下面这两段的括号又是什么作用?
        {
            const prefix string = ",\"transaction_id\":"
            if first {
                first = false
                out.RawString(prefix[1:])
            } else {
                out.RawString(prefix)
            }
            out.String(string(in.TransactionID))
        }
        {
            const prefix string = ",\"exp\":"
            if first {
                first = false
                out.RawString(prefix[1:])
            } else {
                out.RawString(prefix)
            }
            out.String(string(in.Expression))
        }
        out.RawByte('}')
    }
    展开
    
    
  • Geek_3c1bf0
    2019-05-28
    老师您好,对于多态的数据结构。该如何转换成bson和json。如果获得到bson、json数据该如何映射成多态的结构啊?
    自己在网上搜索了好多,都没有发现一个完整的解决方案。有没有相关的示例啊。
    
    
我们在线,来聊聊吧