首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
beego
V2EX  ›  Go

请教下 golang 在解析 json 串的时候,里面的值类型必须都是字符串类型吗

  •  
  •   lepig · 162 天前 · 1225 次点击
    这是一个创建于 162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 php 调用一个 golang 的接口 Content-Type 设置为了 application/json,然后我使用 php 发送的 post 数据如下

    {
        "name":"lepig",
        "pid":5,
        "address":"BeiJing"
    }
    

    关键在于上面的 pid,当我传数字类型的 5 就报json 解析失败,修改为字符类型的 5 就正常。

    // 正常
    {
        "name":"lepig",
        "pid":"5",
        "address":"BeiJing"
    }
    

    所以我想知道的是,golang 在解析 json 的时候这个pid是什么类型,是不是取决于那边如何定义这个结构体属性的类型?

    6 回复  |  直到 2019-06-04 20:41:34 +08:00
        1
    wulin   162 天前
    取决于结构体字段类型定义
        2
    mingqing   162 天前
    取决于那边如何定义这个结构体属性的类型。
        3
    lepig   162 天前
    @wulin @mingqing 好的,谢谢老哥
        4
    TypeErrorNone   162 天前
    go 中解析把数字都划为 float64
        5
    bwangel   162 天前 via Android
    https://blog.golang.org/json-and-go

    Go blog 的文章有写,解析不知道结构的 json 的时候,可以使用 map

    如果觉得看英文文章比较麻烦,可以参考我的翻译😃

    https://www.bwangel.me/2019/05/21/review-json-and-go/
        6
    lepig   162 天前
    @bwangel 感谢分享。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   921 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 20:38 · PVG 04:38 · LAX 12:38 · JFK 15:38
    ♥ Do have faith in what you're doing.