golang post请求带json数据


package main

import (
	"encoding/json"
	"fmt"	
)

type JsonPost struct {
	Org_code        string      `json:"org_code"`
	Org_index       string      `json:"org_index"`
	Org_name        string      `json:"org_name"`
	Place_code      string      `json:"place_code"`
	Resource_type   string      `json:"resource_type"`
	Access_type     string      `json:"access_type"`
	Producer        string      `json:"producer"`
	Producer_name   string      `json:"producer_name"`
	Register_id     string      `json:"register_id"`
	Register_pwd    string      `json:"register_pwd"`
	Ip_addr         string      `json:"ip_addr"`
	Port            int         `json:"port"`
	User_id         string      `json:"user_id"`
	Password        string      `json:"password"`
	Name            string      `json:"name"`
	Model           string      `json:"model"`
	Sub_type        string      `json:"sub_type"`
	Place           string      `json:"place"`
	Password_encode string      `json:"password_encode"`
	Description     string      `json:"description"`
	Domain_swith    string      `json:"domain_swith"`
	Function_type   string      `json:"function_type"`
	Position_type   string      `json:"position_type"`
	Is_sdc          string      `json:"is_sdc"`
	Sdk_type        string      `json:"sdk_type"`
	Channel_num     int         `json:"channel_num"`
	Channel_list    []ChildPost `json:"channel_list"`
}

type ChildPost struct {
	Ape_id        string `json:"ape_id"`
	Place_code    string `json:"place_code"`
	Enabled       string `json:"enabled"`
	Idx           int    `json:"idx"`
	Name          string `json:"name"`
	Model         string `json:"model"`
	Longitude     string `json:"longitude"`
	Latitude      string `json:"latitude"`
	Place         string `json:"place"`
	Resource_type string `json:"resource_type"`
	Sub_type      string `json:"sub_type"`
}

func MakeData(ip, org_i, org_n, name1, ch_name string) []byte {
	body := `{
    "org_code": "",
    "org_index": "10",
    "org_name": "本域",
    "place_code": "100000",
    "resource_type": "1",
    "access_type": "1",
    "producer": "1",
    "producer_name": "",
    "register_id": "",
    "register_pwd": "",
    "ip_addr": "10.100.0.11",
    "port": 3000,
    "user_id": "admin",
    "password": "admin",
    "name": "sdk_000001",
    "model": "",
    "sub_type": "1",
    "place": "",
    "password_encode": "",
    "description": "",
    "domain_swith": "",
    "function_type": "",
    "position_type": "",
    "is_sdc": "0",
    "sdk_type": "33",
    "channel_num": 1,
    "channel_list": [{
        "ape_id": "",
        "place_code": "100000",
        "enabled": "1",
        "idx": 0,
        "name": "sdk_000001_通道_1",
        "model": "3",
        "longitude": "",
        "latitude": "",
        "place": "",
        "resource_type": "6",
        "sub_type": "1"
    }]
	}`
	var j JsonPost
	err := json.Unmarshal([]byte(body), &j) //反序列化
	if err != nil {
		fmt.Println("err was %v", err)
	}
	j.Ip_addr = ip
	j.Org_index = org_i
	j.Org_name = org_n
	j.Name = name1
	j.Channel_list[0].Name = ch_name //修改相关字段

	fmt.Println(j)

	data, err := json.Marshal(j) //改完字段再序列化回来
	if err != nil {
		fmt.Println("err was %v", err)
	}
	fmt.Println(string(data))
	return data
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM