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格式的数据? ...
随机推荐
- 清理elasticsearch的索引
curl -XDELETE 'http://172.16.1.16:9200/logstash-2013.03.*' 清理掉了所有 3月份的索引文件,其中*是通配符 下面是主页上的详细介绍,其他部分可 ...
- java 常量 因为常量不依赖对象 所以一般都会将常量设置为 类属性
- 使用URLConnection发送http请求实现简单爬虫(可以配置代理)
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import jav ...
- 【HDU5469】Antonidas(点分治,字符串哈希)
[HDU5469]Antonidas(点分治,字符串哈希) 题面 HDU Vjudge 题解 啊哈?什么垃圾一眼点分治+Hash判断,哈哈哈哈哈,让我来码码码. 诶,怎么WA了.改改改改改. 诶,怎么 ...
- 【BZOJ4035】数组游戏(博弈论)
[BZOJ4035]数组游戏(博弈论) 题面 BZOJ 洛谷 题解 很明显是一个翻硬币游戏的变形,因此当前局面的\(SG\)函数值就是所有白格子单独存在的\(SG\)函数的异或和. 那么,对于每一个位 ...
- 一步步创建第一个Docker App —— 1. 背景介绍
原文:https://docs.docker.com/engine/getstarted-voting-app/#/docker-stacks-and-services 你将会学习什么 本文创建 ...
- Mysql基本的一些查询操作
/*查询选修课程‘3-105’且成绩在60到80之间的所有记录.*/SELECT * FROM result WHERE CNO='3-105' AND GRADE > 60 AND GRADE ...
- android studio 卡慢的问题(android studio 3.0)
http://www.jianshu.com/p/0228b7d017bb 想体验一下android studio 3.0的canary版,主要是学习Kotlin.创建项目后,下载相关文件一直不成功. ...
- bzoj : 4504: K个串 区间修改主席树
4504: K个串 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 268 Solved: 110[Submit][Status][Discuss] ...
- Codeforces Round #552 (Div. 3) 题解
Codeforces Round #552 (Div. 3) 题目链接 A. Restoring Three Numbers 给出 \(a+b\),\(b+c\),\(a+c\) 以及 \(a+b+c ...