最近发现 golang解析json时把所有的int,float,double等数字,向interface{}解析时都当成float64(当然被双信号包围的数字除外,任何被双引号包围的,都是字符串。),不知道是golang的内部约定还是啥。

package main

import (

"encoding/json"

"fmt"

)

func main() {

var v map[string]interface{}

jsonstr := `{"id":13,"name":"胖胖","weight":216.5,"dd":"123"}`

json.Unmarshal([]byte(jsonstr), &v)

for k, v1 := range v {

fmt.Print(k, " = ")

switch v1.(type) {

case int:

fmt.Println(v1, "is an int value.")

case string:

fmt.Println(v1, "is a string value.")

case int64:

fmt.Println(v1, "is an int64 value.")

case float64:

fmt.Println(v1, "is an float64 value.")

default:

fmt.Println(v1, "is an unknown type.")

}

}

}

输出如下:

API server listening at: 127.0.0.1:36104

weight = 216.5 is an float64 value.

dd = 123 is a string value.

id = 13 is an float64 value.

name = 胖胖 is a string value.

Process exiting with code: 0

仅作记录。

go json的key为数字怎么解析_golang向interface{}解析json时把所有的数字都当成float64...相关推荐

  1. Json中key为数字动态格式怎么解析

    JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...

  2. flex bison解析json文件_每秒解析千兆字节的 JSON 解析器开源了

    本文转自我们的网站 InfoQ,译者无明.除了推荐 simdjson 之外,还想测试一下微信平台编辑器的代码样式功能. 事实证明,微信文章的代码展示能力很强了.非常棒. 近日,GitHub 开源了一 ...

  3. android之json解析优化,Android开发之json解析

    目前正在尝试着写app,发现看懂代码和能写出来差距很大,最关键的是java基础比较的差,因为只会python,java基础只学习了一个礼拜就过了.感觉java写出来的代码不如python简单明了. 上 ...

  4. Android 天气预报【解析XML / Json文件(2种方式:手动解析、Gson库解析)】

    源码 [工程文件]:https://gitee.com/lwx001/Weather XML : activity_main.xml : <RelativeLayout xmlns:androi ...

  5. mysql json 引号 双引号_关于JSON字符串key缺少双引号的解决方法 的讲解

    JSON字符串key缺少引号的解决方法 JSON字符串是key:value形式的字符串,正常key是由双引号括起来的. 例如:<?php $data = array('name'=>'fd ...

  6. 浅谈Android项目----JSON解析(4种解析技术详解)

    json简介 1.概念:json全称是javaScript object Notation,是一种并轻量级的数据交换格式. 2.特点: 1.本质就是具有特定格式的字符串 2.json完全独立于编程语言 ...

  7. gson 解析json_Gson示例教程解析JSON

    gson 解析json Welcome to Gson Example Tutorial. In last post we looked at the Java JSON API and you ca ...

  8. JSON字符串key值驼峰转下划线

    起因 工作中需要解析特殊的JSON字符串,将JSON文本中所有的Map结构中的key的格式由驼峰转换为下划线.本着不重复造轮子的原则,我在网上搜索到了一些资料,都是下划线转驼峰的工具,没有驼峰转下划线 ...

  9. Java将json中key值下划线转为驼峰格式

    目录 1 需求说明 2 Java工具类转换实现 2.1 代码 1.2 运行结果 3 转换为对应的java实体 1 需求说明 在开发过程中,有时会遇到json不是严格按照驼峰命名,需要将其中带有下划线的 ...

最新文章

  1. 02.Web大前端时代之:HTML5+CSS3入门系列~H5结构元素
  2. Linux centos 集群下ssh无密码
  3. [Android] 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印
  4. 90.bower解决js的依赖管理
  5. 01背包,完全背包,多重背包,分组背包的使用条件以及代码模板
  6. calendar类计算时间距离_日期时间--JAVA成长之路
  7. 华为手机30s桌面循环滑动_华为发飙了!麒麟820+双模5G,从2699元跌至2499元,超出消费者预期...
  8. 转:智能卡测试操作系统技术
  9. cocos2d 走动椭圆
  10. k8s consul 服务发现_Swoft之服务注册发现Consul服务器配置
  11. 为什么RegisterClientScriptResource方法在自定义控件中的RenderContents期间不起作用?...
  12. matlab划分训练集验证和测试集代码_Matlab随机划分训练集和测试集
  13. android 开机启动无效,Android实现开机自启动无效问题
  14. Excel函数应用(3)--筛选随机数
  15. 《深度工作》学习总结
  16. python爬取公众号文章如何获取发布时间
  17. 创意h5案例作品展示:谁是王牌拆弹专家
  18. POJ-3368(Frequent values)
  19. PAMI2012跟踪算法TLD的配置(Tracking-learning-detection)
  20. Python全栈(九)Web前端基础之3.CSS常见样式和选择器

热门文章

  1. java图形界面关键字_怎样用Java编写一个图形界面,要求可以利用关键词查询txt中的内容...
  2. java笔试题型_JAVA笔试必备题
  3. c#如何实现在datagridview中加入时间控件、numericupanddown控件
  4. php商品低库存报警,Magento中产品库存不报警解决方案
  5. python中形参可以使用中文定义嘛_python中函数的参数分类
  6. asp exce l连接字符串_C++基础知识篇:C++ 字符串
  7. 电子科技大学计算机学院王刚,电子科技大学-团体程序设计天梯赛.PDF
  8. 解决pytorch CrossEntropyLoss报错RuntimeError: 1D target tensor expected, multi-target not supported
  9. 配置阿里云docker加速与云镜像配置
  10. bzoj 3513: [MUTC2013]idiots【生成函数+FFT】