嗯,是的,贴一下代码:
package main
import (
"encoding/json"
"fmt"
"io"
"log"
"strings"
)
type D struct {
I string
E *bool
}
func (d *D) String() string {
if d == nil {
return "<nil>"
} else if d.E == nil {
return fmt.Sprintf("{I: %s, E: %v}", d.I, d.E)
} else {
return fmt.Sprintf("{I: %s, *E: %v}", d.I, *d.E)
}
}
const txt = `
{"I": "1", "E": true}
{"I": "2", "E": false}
null
{"I": "3"}
`
func main() {
dec := json.NewDecoder(strings.NewReader(txt))
for {
var d = new(D)
err := dec.Decode(&d)
if err == io.EOF {
break
}
if err != nil {
log.Fatal(err)
}
log.Printf("%+v", d)
}
}
【 在 flw (帅五进九) 的大作中提到: 】
: 1,用指针
: 2,用指针
--
FROM 121.69.4.*