突然發(fā)現(xiàn)一個(gè)很好用Golang的json庫

json

我并不想解釋json是什么深夯。

庫名 GJSON

點(diǎn)這里去star感謝小哥

下載

$ go get -u github.com/tidwall/gjson

與官方的json解析包有什么區(qū)別

官方的包捡需,都是一整塊數(shù)據(jù)一起 包裝/解析损姜。
有如下數(shù)據(jù)

struct {
  str1
  str2
}
json :{str1:"xx",str2:"xx"}

如果要單獨(dú)得到str1的話,很麻煩的比规。

官方給的demo

package main

import "github.com/tidwall/gjson"

const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`

func main() {
    value := gjson.Get(json, "name.last")
    println(value.String())
}

輸出:Prichard

我寫的超級(jí)詳細(xì)的例子灾常!

給你們看看我要解析的json,就問你們怕不怕:

//第一個(gè)
{
    "richtext": {
        "data": {
            "items": [
                {
                    "desc": "驚爆!0赡搿睁本!在光棍節(jié)這種虐狗的節(jié)日到來之際凡泣,有一份充滿惡意的榜單華麗麗出爐了。咱們look look~此榜單一出猴誊,各路好漢躺槍無數(shù)滑黔!諸位男俠女俠紛紛表示終于找到自己?jiǎn)紊淼脑蛄耍 囃龇指罹€————大俠你憂郁的氣質(zhì)已經(jīng)出賣了你通今,這本辟邪劍譜拿去掺喻,練了你就有女票了兵哥哥不要難過即硼!你還有基友們层皱!老師,下課留我做作業(yè)吧真的菇?jīng)鰚男朋友是被你紅牌罰下了嗎這位仁兄绷跑,回頭看看這榜單,你真的中槍了真的恩弟灼,我們的征途,是星(huo)辰(gai)大(dan)海(shen)活捉一只文藝單身汪缴挖,打包帶走熊孩子一邊涼快去……叔叔阿姨還單著呢明天瘫析,一個(gè)人買單號(hào)電影票奇适,一個(gè)人玩連連看(消滅一對(duì)是一對(duì))魂贬,做個(gè)安靜的美男",
                    "end": 0,
                    "image": {
                        "key": "293634e25fc4c886c957203dc8c9734d",
                        "name": "6a3fecd2-f565-4ff1-ba03-943170e5a301 (1).jpg",
                        "url": "http://nos-yx.netease.com/yixinpublic/pr_6cntqgf6tlv8yr6eybbbxg==_1447149809_77211016"
                    },
                    "start": 0,
                    "subTitle": "驚爆7沽帷!聊训!在光棍節(jié)這種虐狗的節(jié)日到來之際挂滓,有一份充滿惡意的榜單華麗麗出爐了贝椿。咱們look look~此榜單一出铺根,各路好漢躺槍無數(shù)予颤!諸位男俠女俠紛紛表示終于找到自己?jiǎn)紊淼脑蛄瞬低ィ 囃龇指罹€————大俠你憂郁的氣質(zhì)已經(jīng)出賣了你贝淤,這本辟邪劍譜拿去,練了你就有女票了兵哥哥不要難過腻暮!你還有基友們毯侦!老師哭靖,下課留我做作業(yè)吧真的菇?jīng)鰚男朋友是被你紅牌罰下了嗎這位仁兄,回頭看看這榜單侈离,你真的中槍了真的恩试幽,我們的征途,是星(huo)辰(gai)大(dan)海(shen)活捉一只文藝單身汪卦碾,打包帶走熊孩子一邊涼快去……叔叔阿姨還單著呢明天铺坞,一個(gè)人買單號(hào)電影票,一個(gè)人玩連連看(消滅一對(duì)是一對(duì))洲胖,做個(gè)安靜的美男",
                    "subsubtype": 0,
                    "title": "汪济榨!解開你單身多年的謎團(tuán)!"
                }
            ]
        },
        "subtype": 101
    }
}
//第二個(gè)
{
    "audio": {
        "duration": 3189,
        "md5": "7ac7585a546a171b39a1be95c43d84b0",
        "name": "60f9d8f4-16a6-4eca-b8e6-5e51c39f38691.aac",
        "size": 11021,
        "url": "http://nos-yx.netease.com/yixinpublic/pr_zwx0ir6blam67ccfxn8urw==_1495775574_233545677"
    },
    "location": {
        "coordinate": "28.228272,112.938888",
        "title": "長沙市"
    },
    "text": "你好",
    "version": 1
}
// 第三個(gè)第四個(gè)與第二個(gè)雷同绿映, 不寫了擒滑。。叉弦。太TM長了

golang代碼(這四串json是可以一起解的丐一,所以一段代碼就可以搞定)

package main

import "github.com/tidwall/gjson"

func main() {

    jsonstr1 := `{"richtext":{"data":{"items":[{"desc":"想拍出明星范可沒有明星的氣質(zhì)怎么辦!學(xué)學(xué)人家明星的出門裝扮好伐淹冰?狗仔360度偷拍也能保持應(yīng)有的氣質(zhì)库车,究竟是怎么辦到的?一起學(xué)習(xí)下樱拴。明星出門最重要的是什么柠衍?裝神秘(bi)!眼睛無神的時(shí)候疹鳄,戴個(gè)墨鏡拧略。臉上沒化妝的時(shí)候,戴個(gè)口罩瘪弓,只露出迷人的眼睛垫蛆!必要時(shí)戴個(gè)帽子,不僅可以耍帥,還可以遮蓋下飛機(jī)上酣睡后凌亂的發(fā)型袱饭〈ㄎ蓿看了上面這些圖,你知道怎么提升拍照時(shí)的氣質(zhì)了嗎虑乖?對(duì)懦趋!就是遮臉!最常見的就是戴個(gè)口罩疹味,美麗的大眼睛仅叫,很迷人吧?沒有口罩的時(shí)候糙捺,用手擋住半邊臉诫咱,神秘感倍增。如果你有秀發(fā)洪灯,利用下坎缭,撩人!敷面膜也能讓你氣質(zhì)倍增签钩,慵懶的表情配上滑嫩的皮膚掏呼,你是個(gè)懂得生活的女孩子!你學(xué)會(huì)怎么拍神秘的蒙面照了嗎铅檩?點(diǎn)擊閱讀","end":0,"image":{"key":"d2ed467715d06ae4b80b13e4eaff3eeb","name":"timg (4).jpg","url":"http://nos-yx.netease.com/yixinpublic/pr_0ok_9bi3l3z9b8felxt-jw==_1487148473_212641347"},"linkurl":"http://show.yixin.im/task/taskPage.html?sharesid=f6facd47763e9ae911cefbb036779c64&shareversion=1","start":0,"subTitle":"想拍出明星范可沒有明星的氣質(zhì)怎么辦憎夷!學(xué)學(xué)人家明星的出門裝扮好伐?狗仔360度偷拍也能保持應(yīng)有的氣質(zhì)柠并,究竟是怎么辦到的岭接?一起學(xué)習(xí)下。明星出門最重要的是什么臼予?裝神秘(bi)鸣戴!眼睛無神的時(shí)候,戴個(gè)墨鏡粘拾。臉上沒化妝的時(shí)候窄锅,戴個(gè)口罩,只露出迷人的眼睛缰雇!必要時(shí)戴個(gè)帽子入偷,不僅可以耍帥,還可以遮蓋下飛機(jī)上酣睡后凌亂的發(fā)型械哟∈柚看了上面這些圖,你知道怎么提升拍照時(shí)的氣質(zhì)了嗎暇咆?對(duì)锋爪!就是遮臉丙曙!最常見的就是戴個(gè)口罩,美麗的大眼睛其骄,很迷人吧亏镰?沒有口罩的時(shí)候,用手擋住半邊臉拯爽,神秘感倍增索抓。如果你有秀發(fā),利用下毯炮,撩人逼肯!敷面膜也能讓你氣質(zhì)倍增,慵懶的表情配上滑嫩的皮膚否副,你是個(gè)懂得生活的女孩子汉矿!你學(xué)會(huì)怎么拍神秘的蒙面照了嗎?點(diǎn)擊閱讀","subsubtype":0,"title":"沒有明星的命备禀,但可以有明星的病"}]},"subtype":101}}`
    jsonstr2 := `{"images":[{"md5":"83b25df0edbddcde2769f1855b06b423","size":107241,"url":"http://nos-yx.netease.com/yixinpublic/pr_1qd4af7j14_nfcfpqplwaw==_1489977060_238390862"}],"text":"趁著這個(gè)鶯飛草長,陽光正好的時(shí)節(jié)奈揍,小伙伴們記得抽空走出城市的喧囂曲尸,郊游、賞花男翰、放風(fēng)箏另患,盡情享受四海八荒的濃情春意吧!"}`
    jsonstr3 := `{"audio":{"duration":3189,"md5":"7ac7585a546a171b39a1be95c43d84b0","name":"60f9d8f4-16a6-4eca-b8e6-5e51c39f38691.aac","size":11021,"url":"http://nos-yx.netease.com/yixinpublic/pr_zwx0ir6blam67ccfxn8urw==_1495775574_233545677"},"location":{"coordinate":"28.228272,112.938888","title":"長沙市"},"text":"你好","version":1}`
    jsonstr4 := `{"richtext":{"data":{"items":[{"desc":"驚爆6暌铩@セ!在光棍節(jié)這種虐狗的節(jié)日到來之際租冠,有一份充滿惡意的榜單華麗麗出爐了鹏倘。咱們look look~此榜單一出,各路好漢躺槍無數(shù)顽爹!諸位男俠女俠紛紛表示終于找到自己?jiǎn)紊淼脑蛄讼吮茫 囃龇指罹€————大俠你憂郁的氣質(zhì)已經(jīng)出賣了你,這本辟邪劍譜拿去镜粤,練了你就有女票了兵哥哥不要難過捏题!你還有基友們!老師肉渴,下課留我做作業(yè)吧真的菇?jīng)鰚男朋友是被你紅牌罰下了嗎這位仁兄公荧,回頭看看這榜單,你真的中槍了真的恩同规,我們的征途循狰,是星(huo)辰(gai)大(dan)海(shen)活捉一只文藝單身汪庸诱,打包帶走熊孩子一邊涼快去……叔叔阿姨還單著呢明天,一個(gè)人買單號(hào)電影票晤揣,一個(gè)人玩連連看(消滅一對(duì)是一對(duì))桥爽,做個(gè)安靜的美男","end":0,"image":{"key":"293634e25fc4c886c957203dc8c9734d","name":"6a3fecd2-f565-4ff1-ba03-943170e5a301 (1).jpg","url":"http://nos-yx.netease.com/yixinpublic/pr_6cntqgf6tlv8yr6eybbbxg==_1447149809_77211016"},"start":0,"subTitle":"驚爆!C潦丁钠四!在光棍節(jié)這種虐狗的節(jié)日到來之際,有一份充滿惡意的榜單華麗麗出爐了跪楞。咱們look look~此榜單一出缀去,各路好漢躺槍無數(shù)!諸位男俠女俠紛紛表示終于找到自己?jiǎn)紊淼脑蛄说榧溃 囃龇指罹€————大俠你憂郁的氣質(zhì)已經(jīng)出賣了你缕碎,這本辟邪劍譜拿去,練了你就有女票了兵哥哥不要難過池户!你還有基友們咏雌!老師,下課留我做作業(yè)吧真的菇?jīng)鰚男朋友是被你紅牌罰下了嗎這位仁兄校焦,回頭看看這榜單赊抖,你真的中槍了真的恩,我們的征途寨典,是星(huo)辰(gai)大(dan)海(shen)活捉一只文藝單身汪氛雪,打包帶走熊孩子一邊涼快去……叔叔阿姨還單著呢明天,一個(gè)人買單號(hào)電影票耸成,一個(gè)人玩連連看(消滅一對(duì)是一對(duì))报亩,做個(gè)安靜的美男","subsubtype":0,"title":"汪!解開你單身多年的謎團(tuán)井氢!"}]},"subtype":101}}`

    ParseJson(jsonstr3)
    ParseJson(jsonstr1)
    ParseJson(jsonstr2)
    ParseJson(jsonstr4)

}
func ParseJson(content string) {

    audio := gjson.Get(content, "audio")
    location := gjson.Get(content, "location")
    text := gjson.Get(content, "text")
    images := gjson.Get(content, "images")
    richtext:=gjson.Get(content,"richtext.data.items")


    /*
    richtext:=gjson.Get(content,"richtext")*/

    if audio.Exists() {
        duration := audio.Get("duration").String()
        url := audio.Get("url").String()
        name := audio.Get("name").String()
        println(duration, url, name)
    }

    if location.Exists() {
        coordinate := location.Get("coordinate").String()
        println("緯度", coordinate)
    }

    if text.Exists() {
        textstr := text.String()
        println(textstr)
    }

    if images.Exists() {
        re := images.Array()
        for _, v := range re {
            re := v.Get("url").String()
            println("圖片url", re)
        }
    }

    if richtext.Exists(){
        re:= richtext.Array()
        for _, v := range re {
            re := v.Get("desc").String()
            re2:=v.Get("image.url").String()
            println("desc", re)
            println("富文本內(nèi)置圖片URL",re2)
        }


    }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弦追,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子毙沾,更是在濱河造成了極大的恐慌骗卜,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件左胞,死亡現(xiàn)場(chǎng)離奇詭異寇仓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烤宙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門遍烦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人躺枕,你說我怎么就攤上這事服猪」┨睿” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵罢猪,是天一觀的道長近她。 經(jīng)常有香客問我,道長膳帕,這世上最難降的妖魔是什么粘捎? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮危彩,結(jié)果婚禮上攒磨,老公的妹妹穿的比我還像新娘。我一直安慰自己汤徽,他們只是感情好娩缰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谒府,像睡著了一般拼坎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狱掂,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天演痒,我揣著相機(jī)與錄音,去河邊找鬼趋惨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛惦蚊,可吹牛的內(nèi)容都是我干的器虾。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼蹦锋,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼兆沙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起莉掂,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤葛圃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后憎妙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體库正,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年厘唾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了褥符。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抚垃,死狀恐怖喷楣,靈堂內(nèi)的尸體忽然破棺而出趟大,到底是詐尸還是另有隱情,我是刑警寧澤铣焊,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布逊朽,位于F島的核電站,受9級(jí)特大地震影響曲伊,放射性物質(zhì)發(fā)生泄漏叽讳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一熊昌、第九天 我趴在偏房一處隱蔽的房頂上張望绽榛。 院中可真熱鬧,春花似錦婿屹、人聲如沸灭美。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽届腐。三九已至,卻和暖如春蜂奸,著一層夾襖步出監(jiān)牢的瞬間犁苏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國打工扩所, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留围详,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓祖屏,卻偏偏與公主長得像助赞,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袁勺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容