海运的博客

Go语言解json

发布时间:July 30, 2017 // 分类: // No Comments

package main
import "fmt"
import "encoding/json"

type trade struct {
    Amount float64
    Price  float64
    Tid    uint64
    Date   uint64
    Trade_side string
}

type res struct {
    Status string
    Trades []trade
}

func main() {
    keysBody := []byte(`{"status":"ok","trades":[{"amount":1783.197,"price":11.64,"tid":1334222,"date":1501319002,"side":"sell","trade_side":"ask"},{"amount":1414.198,"price":11.64,"tid":1334223,"date":1501319002,"side":"sell","trade_side":"ask"}]}`)
    //var keys []trade 
    var keys res
    json.Unmarshal(keysBody, &keys)
    fmt.Println(keys)
}

未知结构:

package main

import "fmt"
import "encoding/json"

func main() {
    keysBody := []byte(`{"1":{"id":7,"last":"0.00000052","lowestAsk":"0.00000052","highestBid":"0.00000051","percentChange":"0.06122448","baseVolume":"82.45931512","quoteVolume":"161135661.58285543","isFrozen":"0","high24hr":"0.00000053","low24hr":"0.00000049"},"2":{"id":8,"last":"0.00005285","lowestAsk":"0.00005335","highestBid":"0.00005285","percentChange":"0.02841019","baseVolume":"8.86982292","quoteVolume":"169072.72178908","isFrozen":"0","high24hr":"0.00005453","low24hr":"0.00005051"}}`)
    var n map[string]interface{}
    err := json.Unmarshal(keysBody, &n)
    if err != nil {
        fmt.Println(err)
    }
    for k, v := range n {
        fmt.Println(k, "------", v)
        for k2, v2 := range v.(map[string]interface{}) {
            fmt.Println(k2, "------", v2)
        }
    }
}

标签:none

评论已关闭

分类
最新文章
最近回复
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
  • 孤狼: 擦。。。。apcupsd会失联 nut在冲到到100的时候会ONBATT进入关机状态,我想想办...
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...