golang 实现json类型不确定时的转换
作者:翔云123456 发布时间:2024-05-05 09:26:07
标签:golang,json类型,转换
将json转为结构体时,经常会遇到无法确定某个字段类型的情况。在Go中可以使用interface 任意类型来解决。
// convert json to struct
// type uncertain
package main
import (
"fmt"
"encoding/json"
)
type Host struct {
Id interface{}
IdcId interface{}
}
func main() {
b := []byte(`{"ID": 11, "IDCid": "1001"}`)
m := Host{}
err := json.Unmarshal(b, &m)
if err != nil {
fmt.Println("Umarshal failed:", err)
return
}
fmt.Printf("m:%#v\n", m)
}
output:
m:main.Host{Id:11, IdcId:”1001”}}
补充:gin bindJSON结构体中有不确定类型的字段
结构体中有不确定类型的字段,用interface{},BindJSON后根据输入自动存储对应类型,比如
type student struct {
Name string `json:"name"`
Info interface{} `json:"info"`
}
比如,info的输入
输入 | 类型 |
12 | float64 |
“str” | string |
{"str":"value"} | map[string]interface {} |
true | bool |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/lanyang123456/article/details/78930144


猜你喜欢
- 事务日志(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分。由于它并不像数据库中的schema那样活跃,因此很少
- 在平时的工作中,难免需要一些 小Tip 来解决工作中遇到的问题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx
- 记录使用pytorch构建网络模型过程遇到的点1. 网络模型构建中的问题1.1 输入变量是Tensor张量各个模块和网络模型的输入,一定要是
- 本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下1、SVM手写数字识别识别步骤:(1)样本图像的准备。(2)图
- cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb
- 列表UL或是OL中都有一个预设标记,这个标记可能是实点圆点,也可能是数字。在实际的应用中,我们需要去掉这个预设标记,但我们不清楚这个预设标记
- 本文实例为大家分享了python机器人行走步数问题,供大家参考,具体内容如下#! /usr/bin/env python3 # -*- co
- 首先,将FileToZip.class文件放到ThinkPHP/Extend/Library/ORG/Util/文件夹中,FileToZip
- 1.goroutine-看一个需求需求:要求统计1-900000000的数字中,那些是素数?分析:传统方法,就是使用一个循环,循环的判断各个
- 如下所示:ffmpeg中文文档:http://linux.51yip.com/search/ffmpegffmpeg -i test_bao
- 前言前面一篇分享了关于数值的一些处理方式,本篇呢进行一下字符串处理的分享 题目也是超级简单,记录一下对字符串处理的方式错位键盘🍓(也就是错位
- 我在用 ASP 写一个数据库的应用的时候,总是被那些看起来好好的SQL语句执行起来产生的错误代码搞得头疼,请问有没有更好的解决办法啊?有,我
- 本文实例为大家分享了python实现打砖块小游戏的具体代码,供大家参考,具体内容如下开发益智的打砖块小游戏,你可以试一下能打几块import
- 前置条件确保mysql的版本是5.7+一、新建mysql表增加json字段二、pojo类package com.cxstar.domain;
- Python是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言。所谓编译执行就是源代码经过编译器编译
- 1 环境准备192.168.1.34 服务器A(主机)192.168.1.35 服务器B(从机)2 安装mysqlMySQL版本:这里采用S
- 因项目需要,需要使用C#控制台程序执行python脚本,查询各种资料后可以成功调用了,记录一下,以备后面遗忘。只尝试了两种调用方式,第一种只
- 返回首页的链接地址,有三种方法:1、一般方法是,直接写对应的域名地址,<a href="http://www.zfnn.co
- 引言数组是存储类似类型数据的强大数据结构。您可以通过索引识别和访问其中的元素。在Golang中,您可以通过在0初始化变量i并增加变量直到它达
- 本文实例讲述了Python基于动态规划算法计算单词距离。分享给大家供大家参考。具体如下:#!/usr/bin/env python#codi