Go转json数组
Go转json数组
最近因需要要调用gitlab的API,其中有一个是根据私有token获取Repositories列表 由于返回结果是一个json数组,单纯使用json.Unmarshal没法实现,于是在网上找了一下解决方案,并修改如下:
type JSONObj struct {
data interface{}
}
//Json Initialize the json configruation
func Json(data string) *JSONObj {
j := new(JSONObj)
var f interface{}
err := json.Unmarshal([]byte(data), &f)
if err != nil {
return j
}
j.data = f
return j
}
//GetGitLabModel ...
func (j *JSONObj) GetGitLabModel() []*models.Gitlab {
modelMap := make([]*models.Gitlab, 0)
for k, _ := range (j.data).([]interface{}) {
model := &models.Gitlab{}
if m, ok := (j.data).([]interface{}); ok {
v := m[k].(map[string]interface{})
if h, ok := v["name_with_namespace"]; ok {
model.Name_with_namespace = h.(string)
}
if h, ok := v["http_url_to_repo"]; ok {
model.Http_url_to_repo = h.(string)
}
if h, ok := v["public"]; ok {
model.Public = h.(bool)
}
}
modelMap = append(modelMap, model)
}
return modelMap
}
Go转json数组的更多相关文章
- 文件缓存(配合JSON数组)
1. 写入缓存:建立文件夹,把list集合里面的数组转换为JSON数组,存入文件夹2. 读取缓存:把JSON数组从文件夹里面读取出来,然后放入list集合,返回list集合 private fin ...
- Json数组追加数据
背景:在做一个购物车的时候,点击第一个商品,然后存入一个json数组中,点击第二个商品的时候,又继续在json数组中追加,代码如下: <script type="text/javasc ...
- java 字符串转成 json 数组并且遍历
当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时. 首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包 String s ...
- json数组的序列化和反序列化json数组的序列化和反序列化
如题,我就不多说了,自己看代码的,很好理解 using System; using System.Collections.Generic; using System.Web; using System ...
- php返回json数组
1.后端 //处理json数组中文问题 function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { s ...
- JSON 数组的遍历解析
刚遇到一个接接口任务,发现其中返回数据中,是个字符串数组,数组中就是单个json形式的内容,其实应该也可以称这种数据叫做json数组吧,只不过是字符串形式.而我需要的是将这种内容解析出来,取到对于ke ...
- 字符串集合或字符串数组转换成json数组
字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...
- Jquery调用Webservice传递Json数组
Jquery由于提供的$.ajax强大方法,使得其调用webservice实现异步变得简单起来,可以在页面上传递Json字符串到Webservice中,Webservice方法进行业务处理后,返回Js ...
- JSON数组操作
在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...
- select绑定json数组对象 asp.net
ashx处理页 string JsonList = "["; IList<Models.Channel> ilist = BLL.ChannelManager.GetA ...
随机推荐
- SQL中CASE 的用法 转载
sql语言中有没有类似C语言中的switch case的语句?? 没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 select getdat ...
- iis6、iis7、apache设置mime类型
1.IIS6添加方法. 打开iis,展开网站,右键要设置的站点--属性.找到“http头”选项卡--mime类型 进行设置添加. 截图以.ipa mime类型举例. 2.IIS7(iis7.5.iis ...
- 10th week task -2 Object 的起源
Objective-C与C++.Java等面向对象语言类似,不过很多方面有所差别.若是用过另一种面向对象语言,那么就能理解Objective-C所用的许多范式与模版了.然而语法上也许会显得陌生,因为该 ...
- C语言买卖股票问题
遇到个简单的算法题,没有当场解出来,以后可以写伪代码表达思路. 数组中保存每天的股票价值,求买入卖出的时间和最大利润,比较好的解法如下: 伪代码: begin start day = 0; end d ...
- webstorm 2017.1 破译
安装完webstorm后, 在弹出的注册窗口选择 activate > license server > 在 License server address 里输入 "http:/ ...
- js 中有关字符串的操作
1. substring(start, end) 1). 包头不包尾 2). start 必需项 3). end 非必需项 4). start end 谁大谁小无所谓 5). start end 若为 ...
- matlab练习程序(单源最短路径Dijkstra)
图的相关算法也算是自己的一个软肋了,当年没选修图论也是一大遗憾. 图像处理中,也有使用图论算法作为基础的相关算法,比如图割,这个算法就需要求最大流.最小割.所以熟悉一下图论算法对于图像处理还是很有帮助 ...
- 使用canvas来绘制折线图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 服务器bios&raid管理
新服务器配置流程 https://github.com/alces-software/knowledgebase/wiki/server-dell-rseries-r630 dell DTK(sysc ...
- percona MySQL 5.7yum安装
检查是否安装有MySQL Server: rpm -qa | grep mysql rpm -qa | grep mariadb 删除方法: rpm -e mysql #普通删除模式 rpm -e - ...