V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
lepig

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

  •  
  •   lepig · Jun 4, 2019 · 3721 views
    This topic created in 2521 days ago, the information mentioned may be changed or developed.

    使用 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 replies    2019-06-04 20:41:34 +08:00
    wulin
        1
    wulin  
       Jun 4, 2019
    取决于结构体字段类型定义
    mingqing
        2
    mingqing  
       Jun 4, 2019
    取决于那边如何定义这个结构体属性的类型。
    lepig
        3
    lepig  
    OP
       Jun 4, 2019
    @wulin @mingqing 好的,谢谢老哥
    TypeErrorNone
        4
    TypeErrorNone  
       Jun 4, 2019
    go 中解析把数字都划为 float64
    bwangel
        5
    bwangel  
       Jun 4, 2019 via Android
    https://blog.golang.org/json-and-go

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

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

    https://www.bwangel.me/2019/05/21/review-json-and-go/
    lepig
        6
    lepig  
    OP
       Jun 4, 2019
    @bwangel 感谢分享。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1193 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 23:19 · PVG 07:19 · LAX 16:19 · JFK 19:19
    ♥ Do have faith in what you're doing.