登录
首页 >  Golang >  Go问答

golang 处理json?

来源:SegmentFault

时间:2023-02-24 21:51:18 189浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《golang 处理json?》,主要介绍了go,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

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?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表