golang json 问题

lzc_sys · · 938 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

代码如下:一个简单的http代码 ```go package main import ( "encoding/json" "fmt" "net/http" "strconv" ) // People ... type People struct { name string age int } // IndexHandler ... func IndexHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "hello go http server") } func (p People) toString() string { return "name : " + p.name + ", age : " + strconv.Itoa(p.age) } // FormTest ... func FormTest(w http.ResponseWriter, r *http.Request) { //fmt.Fprintln(w, "FormTest") r.ParseForm() fmt.Println(r.Form) fmt.Println("Path : ", r.URL.Path) fmt.Println("Scheme : ", r.URL.Scheme) fmt.Println("url_long : ", r.Form["url_long"]) for k, v := range r.Form { fmt.Println("k, v : ", k, v) } var p People p.name = r.Form["name"][0] p.age, _ = strconv.Atoi(r.Form["age"][0]) fmt.Println("p : ", p.toString()) data, err := json.Marshal(p) fmt.Println(string(data)) if err != nil { fmt.Println("error : ", err) } else { fmt.Fprintln(w, string(data)) } } func main() { fmt.Println("server start ...") http.HandleFunc("/", IndexHandler) http.HandleFunc("/formtest", FormTest) http.ListenAndServe("127.0.0.1:4199", nil) } ``` 我的表单数据通过formtest接口提交上来之后,数据是存在的,但是格式化为json数据的时候出错,只有一个`{}`,没有具体内容。 输出结果如下,请大佬们帮忙看下什么原因? ``` server start ... map[age:[12] name:[xxxxxx]] Path : /formtest Scheme : url_long : [] k, v : name [xxxxxx] k, v : age [12] p : name : xxxxxx, age : 12 {} exit status 2 ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

938 次点击  
加入收藏 微博
4 回复  |  直到 2018-04-25 10:30:51
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传