Go net/http获取body中json格式数据
Go net/http获取body中json格式数据
package main import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
) type AutotaskRequest struct {
RequestID string `json:"requestid"`
Clone CloneModel `json:"clone"`
Push PushModel `json:"push"`
} type CloneModel struct {
//TODO
//"Method": string `json:"ceph"`
RequestID string `json:"requestid"`
CallbackURL string `json:"callbackurl"`
} type PushModel struct {
RequestID string `json:"requestiD"`
CallbackURL string `json:"callbackuRL"`
IP string `json:"remoteip"`
Port int `json:"remoteport"`
User string `json:"user"`
} func test(w http.ResponseWriter, r *http.Request) {
// r.ParseForm()
defer fmt.Fprintf(w, "ok\n") fmt.Println("method:", r.Method)
body, err := ioutil.ReadAll(r.Body)
if err != nil {
fmt.Printf("read body err, %v\n", err)
return
}
println("json:", string(body)) var a AutotaskRequest
if err = json.Unmarshal(body, &a); err != nil {
fmt.Printf("Unmarshal err, %v\n", err)
return
}
fmt.Printf("%+v", a) } func main() {
http.HandleFunc("/test", test)
http.ListenAndServe(":8888", nil)
}
客户端所传递参数如下:
{
"requestid": "xxxxx",
"clone": {
"method": "ceph",
"callbackurl": "xxx",
"remoteip": "192.168.2.1",
"remoteport": 8080,
"user": "xxx",
"pass": "xxx",
"path": "xxx",
"filename": "xxx"
},
"optimize": {
"callbackurl": "xxx",
"filter": {
"k1": true,
"k2": false
},
"trim": true,
"progressive": true,
"quality": 100,
"colorNum": 256,
"gifOptLevel": 2,
"svgo": true,
"guetzli": false,
"css_rewrite": false,
"js_rewrite": false
},
"push": {
"method": "ceph",
"callbackurl": "xxx",
"remoteip": "192.168.2.1",
"remoteport": 8080,
"user": "xxx",
"pass": "xxx",
"path": "xxx",
"filename": "xxx"
}
}
json传递的参数中,服务端有的没有对应字段
Go net/http获取body中json格式数据的更多相关文章
- python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- jmeter 导入csv数据中json格式数据取值不完整
1.jmeter中添加csv数据文件时,数据是json格式 2.jmeter中执行取值发现只取了一部分 分析原因,json格式数据,中间有逗号,而csv是根据逗号来分割的,这回导致我们取值错位. 解决 ...
- c# 通过URl 获取返回的json格式数据
方法一 http://blog.csdn.net/angle_greensky110/article/details/52209497 protected string GetJson(string ...
- dataTables获取当前行json格式数据
装载表格数据 $(document).ready( function () { //页面加载后装载表格数据 var table = $('#mytable').DataTable( { "s ...
- js中JSON格式数据的转化
JSON.parse(STRING) => OBJECT JSON.stringify(OBJECT) => STRING
- 9.SpringMVC和json结合传递数据 && 10.SpringMVC获取controller中json的数据
- ajax中json格式数据如何朝后端发送数据
- iOS开发之JSON格式数据的生成与解析
本文将从四个方面对IOS开发中JSON格式数据的生成与解析进行讲解: 一.JSON是什么? 二.我们为什么要用JSON格式的数据? 三.如何生成JSON格式的数据? 四.如何解析JSON格式的数据? ...
- 转载 -- iOS开发之JSON格式数据的生成与解析
本文将从四个方面对IOS开发中JSON格式数据的生成与解析进行讲解: 一.JSON是什么? 二.我们为什么要用JSON格式的数据? 三.如何生成JSON格式的数据? 四.如何解析JSON格式的数据? ...
随机推荐
- JavaScript本地存储实践(html5的localStorage和ie的userData)
http://www.css88.com/archives/3717 JavaScript本地存储实践(html5的localStorage和ie的userData) 发表于 2011年06月11日 ...
- 【Nginx笔记】 fastcgi_param解释
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fastcgi_param QUERY_STRI ...
- FlatBuffers初探
我第一次知道FlatBuffers是因为Facebook写的这篇Android的技术博客文章.它主要介绍了FlatBuffers对比JSON的优势,以及Facebook Android App应用了F ...
- PGM学习之一
一 课程基本信息 本课程是由Prof.Daphne Koller主讲,同时得到了Prof. Kevin Murphy的支持,在coursera上公开传播.在本课程中,你将学习到PGM(Probabil ...
- 【刷题】BZOJ 1070 [SCOI2007]修车
Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...
- # DZY Love Math 系列
DZY Love Math 系列 [BOZJ3309] DZY Loves Math 顺着套路就能得到:\(Ans = \sum_{T=1}\lfloor \frac{n}{T} \rfloor \l ...
- web服务器nginx和apache的对比分析
今天准备较详细的对比一下apache httpd与nginx两个web服务器的异同点.优缺点.由于我并不是做web开发的,所以有什么理解错误还请指出,想要了解它们是因为工作中有时候会用到它, ...
- for,while,do while
long i; ;i<;i++) printf( printf("%ld\n",i); ) printf("b\n"); i=; do { printf( ...
- struts的namespace理解
转载: namespace决定了action的访问路径,默认为"",可以接受所有路径的action namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的acti ...
- python安装pip、numpy、scipy、statsmodels、pandas、matplotlib等
1.安装python 2.安装numpy(开源的数值计算扩展,可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多. 很多库都是以此库为依 ...