golang 处理json?

查看:205
本文介绍了golang 处理json?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

package main

import (
    "encoding/json"
    "fmt"
    "github.com/bitly/go-simplejson"
    "os"
)

type urlset struct {
    Urlset urlData `json:"urlset"`
}
type urlData struct {
    Urls []url
}
type url struct {
    Url urlType `json:"url"`
}
type urlType struct {
    Loc  string   `json:"loc"`
    Data dataType `json:"data"`
}
type dataType struct {
    Id   int64  `json:"id"`
    Name string `json:"name"`
}

func main() {
    // var urlsetdata urlset
    var urlDatas []urlData
    var detail url
    detail.Url = urlType{Loc: "1", Data: dataType{Id: 12, Name: "1"}}
    urlDatas = append(urlDatas, detail)//这里我想手动的往slice里面追加item数据,但是报错
    // urlsetdata.Urlset = urlDatas
    body, err := json.Marshal(urlDatas)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }
    js, err := simplejson.NewJson(body)
    fmt.Println(js)
}

json机构是这样的{"urlset":[{"url":{"loc":"1","data":{"id":1,"name":"1"}}}]}
上面代码我定义了结构,我想手动的往urlset里面写任意个的item,但是用append追加貌似不行。。求各位大拿指点一下?谢谢

解决方案

urlData和url不是同一个类型,必须改为同一个类型.

 var urlDatas []url
 var detail url

这篇关于golang 处理json?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆