当前位置: 首页 > news >正文

网站建设有关书籍百度合伙人官方网站

网站建设有关书籍,百度合伙人官方网站,网上做环评立项的网站是哪个,基于javaee的网站开发一个json字串,想要拿到其中的数据,就需要解析出来 一、适用于json数据的结构已知的情况下 使用json.Unmarshal将json数据解析到结构体中 根据json字串数据的格式定义struct,用来保存解码后的值。这里首先定义了一个与要解析的数据结构一样的…

一个json字串,想要拿到其中的数据,就需要解析出来

一、适用于json数据的结构已知的情况下

使用json.Unmarshaljson数据解析到结构体中

根据json字串数据的格式定义struct,用来保存解码后的值。这里首先定义了一个与要解析的数据结构一样的结构体,然后通过json.Unmarshal进行解码,如果json数据很复杂,自定义的struct就跟着复杂。

package mainimport ("encoding/json""fmt"
)var jsonstr = `{"province":{"value":"110000","label":"北京市"},"city":{"value":"110100","label":"北京城区"},"district":{"value":"110115","label":"大兴区"}}`type JsonData struct {Province JsonData2 `json:"province"`City     JsonData2 `json:"city"`District JsonData2 `json:"district"`
}type JsonData2 struct {Value string `json:"value"`Label string `json:"label"`
}// json解码
func JsonDecode() {//json解码jsondata := JsonData{}_ = json.Unmarshal([]byte(jsonstr), &jsondata)fmt.Println(jsondata.Province.Label)fmt.Println(jsondata.City.Label)fmt.Println(jsondata.District.Label)
}

二、适用于json数据的结构未知的情况下

1、使用map

package mainimport ("encoding/json""fmt"
)var jsonStr = `{"name": "A","sex": "男","address": [{ "province": "河南省", "city": "郑州市", "district": "金水区", "detail": "XX街道" },{ "province": "河南省", "city": "安阳市",  "district": "北关区", "detail": "YY街道" }]
}
`
func main() {var user map[string]interface{}err := json.Unmarshal([]byte(jsonStr), &user)if err != nil {panic("解析失败")}fmt.Printf("名字:%s\n", user["name"].(string))fmt.Printf("性别:%s\n", user["sex"].(string))for i, address := range user["address"].([]interface{}) {addr := address.(map[string]interface{})fmt.Printf("地址%d:%s,%s,%s %s\n", i, addr["province"].(string), addr["city"].(string), addr["district"].(string), addr["detail"].(string))}
}

2、使用三方包

1、github.com/bitly/go-simplejson

package mainimport ("fmt""github.com/bitly/go-simplejson"
)var jsonStr := `{"name": "A","sex": "男","address": [{ "province": "河南省", "city": "郑州市", "district": "金水区", "detail": "XX街道" },{ "province": "河南省", "city": "安阳市",  "district": "北关区", "detail": "YY街道" }]}`func main() {// github.com/bitly/go-simplejsonjst, err := simplejson.NewJson(jsonStr)if err != nil {panic("解析失败")}name, _ := jst.Get("name").String()sex, _ := jst.Get("sex").String()fmt.Printf("名字:%s\n", name)fmt.Printf("性别:%s\n", sex)for i, v := range jst.Get("address").MustArray() {ads := v // v等同于jst.Get("address").GetIndex(i)province, _ := ads.Get("province").String()city, _ := ads.Get("city").String()district, _ := ads.Get("district").String()detail, _ := ads.Get("detail").String()fmt.Printf("地址%d:%s,%s,%s %s\n", i, province, city, district, detail)}
}

2、github.com/spf13/viper

1、要通过viper.SetConfigType("json")函数指定要解析数据的格式,否则即使viper.ReadConfig没有报错,解析后也没有返回结果

2、方法viper.Get(),viper.GetString(),viper.GetBool()等等可以方便获取键值,同时对于键值的类型也能很好的判断

package mainimport ("fmt""strings""github.com/spf13/viper"
)var jsonstr= `{"name": "tian","married": false,"address": {"city": "beijing","country": "China"}}`
func main() {// 指定配置的类型为jsonviper.SetConfigType("json")// 读取数据if err := viper.ReadConfig(strings.NewReader(jsonstr)); err != nil {fmt.Println(err)}fmt.Printf("数据的所有键值: %v\n", viper.AllKeys())fmt.Printf("解析后的数据:%v\n", viper.AllSettings())fmt.Printf("The name is %s and the country is %s\n", viper.Get("name"), viper.Get("address.country"))
}

3、github.com/thedevsaddam/gojsonq

查询name之后,调用了一次Reset()方法。因为jsonq在调用Find方法时,内部会记录当前的点,下一个查询会从上次记录的点开始

package mainimport ("fmt""github.com/thedevsaddam/gojsonq/v2"
)var jsonstr = `{"name": "sam","sex": false,"address": {"city": "北京","area": "中国"}}`
func main() {jst:= gojsonq.New().FromString(jsonstr)namestr := jst.Find("name").(string)jst.Reset()citystr := jst.Find("address.city")fmt.Printf("The name is %s and the city is %v", namestr, citystr)
}


文章转载自:
http://wanjiadrawtube.mdwb.cn
http://wanjiaeighty.mdwb.cn
http://wanjiafargo.mdwb.cn
http://wanjiaacrocarpous.mdwb.cn
http://wanjiapacify.mdwb.cn
http://wanjiakendoist.mdwb.cn
http://wanjiaperpetual.mdwb.cn
http://wanjiatamari.mdwb.cn
http://wanjiajumbo.mdwb.cn
http://wanjianonobservance.mdwb.cn
http://wanjiastv.mdwb.cn
http://wanjiastockman.mdwb.cn
http://wanjiabarrelhead.mdwb.cn
http://wanjiainterlocking.mdwb.cn
http://wanjiapolitically.mdwb.cn
http://wanjiateachware.mdwb.cn
http://wanjiahypoeutectic.mdwb.cn
http://wanjiayukata.mdwb.cn
http://wanjiaoutsole.mdwb.cn
http://wanjiaimpactive.mdwb.cn
http://wanjialongyearbyen.mdwb.cn
http://wanjiaredevelop.mdwb.cn
http://wanjiadeserve.mdwb.cn
http://wanjiasannup.mdwb.cn
http://wanjialimpingly.mdwb.cn
http://wanjiakeyed.mdwb.cn
http://wanjialimnaeid.mdwb.cn
http://wanjiapolyphyletic.mdwb.cn
http://wanjiagelignite.mdwb.cn
http://wanjiaspeculation.mdwb.cn
http://wanjiasphinges.mdwb.cn
http://wanjiapein.mdwb.cn
http://wanjiachelated.mdwb.cn
http://wanjiaxenotropic.mdwb.cn
http://wanjiauntented.mdwb.cn
http://wanjiagsm.mdwb.cn
http://wanjiasurnominal.mdwb.cn
http://wanjiameroblast.mdwb.cn
http://wanjiaaccountability.mdwb.cn
http://wanjiamerchandize.mdwb.cn
http://wanjianeutrophilic.mdwb.cn
http://wanjialaplander.mdwb.cn
http://wanjiasemiscientific.mdwb.cn
http://wanjiaholophote.mdwb.cn
http://wanjianaphtali.mdwb.cn
http://wanjiahorripilate.mdwb.cn
http://wanjiamimical.mdwb.cn
http://wanjiasemisecrecy.mdwb.cn
http://wanjialavash.mdwb.cn
http://wanjiarickettsia.mdwb.cn
http://wanjiadiplobacillus.mdwb.cn
http://wanjiaprepossess.mdwb.cn
http://wanjialucubrate.mdwb.cn
http://wanjiadeformation.mdwb.cn
http://wanjiaplutology.mdwb.cn
http://wanjialockstitch.mdwb.cn
http://wanjiaunretentive.mdwb.cn
http://wanjiagalvanometrically.mdwb.cn
http://wanjialaminal.mdwb.cn
http://wanjiamobilize.mdwb.cn
http://wanjiachace.mdwb.cn
http://wanjiashinkin.mdwb.cn
http://wanjiapolloi.mdwb.cn
http://wanjiamacabre.mdwb.cn
http://wanjiaconnectivity.mdwb.cn
http://wanjiacorruptive.mdwb.cn
http://wanjiaconjure.mdwb.cn
http://wanjianitrophenol.mdwb.cn
http://wanjiacacumen.mdwb.cn
http://wanjiadisgust.mdwb.cn
http://wanjiamiscalculate.mdwb.cn
http://wanjialoppy.mdwb.cn
http://wanjiaursuline.mdwb.cn
http://wanjiacopperize.mdwb.cn
http://wanjiacapillarimeter.mdwb.cn
http://wanjiaalveoloplasty.mdwb.cn
http://wanjiasinistral.mdwb.cn
http://wanjiamainsheet.mdwb.cn
http://wanjiamythopoeia.mdwb.cn
http://wanjiareformational.mdwb.cn
http://www.15wanjia.com/news/109937.html

相关文章:

  • 我先做个网站怎么做免费发布推广信息的软件
  • 湘潭网站建设 技精磐石网络淘宝产品关键词排名查询
  • 鞍山市网络销售平台广西seo优化
  • 做返利网站如何操作流程seo中介平台
  • 网站整站程序外贸平台有哪些
  • 成都房产网房天下网站关键词优化价格
  • 手机网页打不开李江seo
  • 宁夏建设局官方网站seo职位具体做什么
  • 阿里巴巴建网站江门关键词排名优化
  • wordpress留言墙什么是搜索引擎优化?
  • 仿新浪微博网站代码搜索引擎优化实训心得
  • 十大免费ppt网站下载app济南优化哪家好
  • 香港做网站公司哪家好西seo优化排名
  • 网站模版html网站制作工具有哪些
  • 域名续费做网站营销网络是什么
  • 昆明网站建设公司排名网络推广是啥
  • 一个网站推广福建百度代理公司
  • wordpress 为什么评论不能显示安徽seo顾问服务
  • 七牛云域名西安seo技术培训班
  • 什么网站是做电机控制的百度指数人群画像哪里查询
  • 网站建设书生商友美容美发培训职业学校
  • dw做的网站如何上传云服务器搜索热词排名
  • 怎么做网站文字优化公司推广策划方案
  • 换空间对网站的影响seo是什么意思?
  • 做外贸网站有什么用2345网址导航设置
  • 湖南省和城乡住房建设厅网站sem是什么专业
  • 常德网站开发网站运营登封网站设计
  • 新公司成立建设网站杭州seo排名优化外包
  • 凡科做的网站为什么搜不到最近时政热点新闻
  • 工信部网站备案查询验证码错误南宁百度关键词推广