map转成json串后是无序的, 怎么样有序

2016-12-20  本文已影响255人  luomoxyz
func (j *Json) SetByOrder(order ...string) string {
    m, err := j.Map()
    if err != nil {
        return ""
    }
    buf := &bytes.Buffer{}
    buf.Write([]byte{'{', '\n'})
    l := len(order)
    for i, k := range order {
        fmt.Fprintf(buf, "\t\"%s\": \"%v\"", k, m[k])
        if i < l-1 {
            buf.WriteByte(',')
        }
        buf.WriteByte('\n')
    }
    buf.Write([]byte{'}', '\n'})
    return buf.String()
}

相当于人工序列化

上一篇 下一篇

猜你喜欢

热点阅读