吐槽一句,没有泛型真的很头大- -

Json 统一解析的一种办法

package json

import (

"encoding/json"

"testing"

)

type (

Result struct {

Code int `json:"code"`

Message string `json:"message"`

Data json.RawMessage `json:"data"`

}

TickersResult struct {

Tickers []struct {

ID string `json:"_id"`

DisplayPairName string `json:"display_pair_name"`

Price float64 `json:"price"`

Volume float64 `json:"volume"`

} `json:"tickers"`

}

Student struct {

Name string `json:"name"`

Class string `json:"class"`

Weight float64 `json:"weight"`

Age int `json:"age"`

}

IBean interface{ Tag() }

)

func (*TickersResult) Tag() {}

func (*Student) Tag() {}

func (r *Result) ParseData(iBean IBean) IBean {

if err := json.Unmarshal([]byte(r.Data), &iBean); err != nil {

return nil

}

return iBean

}

func TestJson(t *testing.T) {

tickersJsonBytes := []byte(`{"code": 0, "message": "success", "data": { "tickers": [ { "_id": "5a33741cce79d2cf9bf5942c", "display_pair_name": "EOS/KRW", "price": 12.5284441, "volume": 202401841.79944953 }]}}`)

var result Result

if err := json.Unmarshal(tickersJsonBytes, &result); err != nil {

t.Fatal(err)

}

var tickersResult TickersResult

t.Log(result.ParseData(&tickersResult))

studentJsonBytes := []byte(`{"code":0,"message":"success","data":{"name":"5a33741cce79d2cf9bf5942c","class":"A109","weight":12.5284441,"age":20}}`)

var studentResult Result

if err := json.Unmarshal(studentJsonBytes, &studentResult); err != nil {

t.Fatal(err)

}

var student Student

t.Log(studentResult.ParseData(&student))

}

我记得还有一种办法的,一时给忘了,记得再补上,希望对各位有所帮助。

android go解析json,Go 关于Json通用解析相关推荐

  1. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...

    ####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...

  2. android 将数据转换成JSON数据格式并使用JSONObject解析JSON格式的数据

    比起XML文件解析,JSON数据解析的有点在于他的体积小,在网络上传输的时候可以更省流量.同时它也有缺点,Json数据的语义性较差,看起来没有XML直观.现在JSON已经被大多数开发人员所接受,在网络 ...

  3. Ace教你一步一步做Android新闻客户端(三) JSON数据解析

    对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,现在给大家讲解一下json这个知识点, 1 如何通过json-lib和gson这两个json解析库来对解析我们的j ...

  4. android 访问服务器josn文件,Android客户端对服务器回来的json文件进行解析

    Android客户端对服务器返回的json文件进行解析 和解析XML的方式大同小异,只有解析方式存在区别: /** * 解析服务器返回来的json数据 * @param content * @retu ...

  5. Android开源库--Gson谷歌官方json解析库

    官方文档地址:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html 官方网站:http://code.go ...

  6. 『Android』网络请求数据与JSON解析

    『Android』网络请求数据与JSON解析

  7. android客户端+JAVA WEB服务器实现json数据解析

        首先,项目中使用javaweb作为后台服务器,源码地址:服务器和客户端源码地址. 接下来进入正题.        一.java web服务器                   这里就多说了, ...

  8. Json、Gson、FAST-JSON解析学习

    Json JavaScript Object Notation javascript表示对象的一种方式 基于JavaScript语言的轻量级的数据交换格式;即:用来传输数据的一种格式.不管是web应用 ...

  9. Android利用Volley异步加载(JSON和图片)完整示例

    android的json解析部分都在包org.json下,主要有以下几个类: JSONObject:可以看作是一个json对象,这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value) ...

最新文章

  1. python编程入门课 视频教程-Python编程零基础入门课
  2. Zookeeper分布式一致性原理(七):Curator客户端
  3. python 路由转发_RabbitMQ之路由键转发消息
  4. GitHub轻松阅读微服务实战项目流程详解【第二天:API网关的设计与实现】
  5. error: passing ‘const xxx’ as ‘this’ argument discards qualifiers c++primer 5th文本查询程序一个错误请各位指教(已解决)
  6. 拦截器 过滤器 监听器 的区别
  7. Django REST FRAMEWORK swagger(一)框架详解
  8. linux 踢出在线用户
  9. Rust 创始人谈 Rust 2019 和未来:社区应限制成长速度
  10. /etc/rc.local开启自启不执行问题
  11. CS领域论文数据分析
  12. EasyClick 原生UI教程
  13. 使用IDEA创建Android项目
  14. [BScroll warn]: Can not resolve the wrapper DOM.
  15. 手机传感器你知道多少个?
  16. ftp上传文件到服务器上,ftp上传文件到服务器上
  17. 山西大学量子计算机,山西大学贾晓军课题组:在量子网络的多个节点之间建立和存储确定性量子纠缠...
  18. 基于Ip的刷投票排名及刷百度推广的自动化实现
  19. 运兴ETF期权投教之50ETF期权新手雷区
  20. 十一、kotlin的协程(一)

热门文章

  1. 浅谈编程-----非计算机专业以及非培训班的一些感悟
  2. Spring 框架 DAO 与 事务 的总结
  3. gdb调试时调用函数、设置观察点以及GDB的宏
  4. 在CentOS上进行虚拟化:QEMU、Xen、KVM、LibVirt、oVirt
  5. Python基础学习思维导图
  6. MNIST手写数字数据集格式,如何读取MNIST数据集?
  7. Gtk:利用alignment控制button大小
  8. pandownload最新复活版登录失败_【不看后悔】百度网盘不限速下载,最安全的方法(满血复活)...
  9. springboot实现条形码_Springboot转发重定向实现方式解析
  10. mysql中交集,并集,差集,左连接,右连接