最近在提供數(shù)據(jù)的時(shí)候,發(fā)現(xiàn)有很多數(shù)據(jù)都是以JSON字符串的格式存儲(chǔ)的,對(duì)于使用程序來(lái)渲染或者處理JSON數(shù)據(jù)的時(shí)候相當(dāng)?shù)暮?jiǎn)單,一個(gè)函數(shù)就可以把JSON字符串轉(zhuǎn)成數(shù)組或者其他的格式,但是在數(shù)據(jù)查詢的時(shí)候得到的字符串中的漢字確是被轉(zhuǎn)成了UNICODE格式的編碼,一般人根本看不明白是啥,這個(gè)時(shí)候就引出了一個(gè)問題,如何把查詢結(jié)果中的UNICODE編碼字符串直接轉(zhuǎn)換成中文字符串。
網(wǎng)上找了一大堆的解決方案,試了試沒有一個(gè)可以直接解決問題的,原因我后面才發(fā)現(xiàn),對(duì)于標(biāo)準(zhǔn)的\u開頭的UNICODE這種類型的字符串確實(shí)是可以直接轉(zhuǎn)化成中文字符串的,用CONVERT這個(gè)方法:
但是,我們常常作為JSON字符串保存的肯定不全是這種規(guī)范的UNICODE字符串,所以就導(dǎo)致,這樣的轉(zhuǎn)換結(jié)果跟我們想要的結(jié)果不一致,因?yàn)槔锩娴姆且?guī)范內(nèi)容無(wú)法轉(zhuǎn)譯就直接導(dǎo)致失敗獲取到空的內(nèi)容,所以我們就需要用到一些函數(shù)來(lái)提前處理一下我們可以使用JSON_UNQUOTE函數(shù)來(lái)處理json字符串來(lái)轉(zhuǎn)換和過濾json字符串中的數(shù)據(jù),一般的話我們可以在使用JSON_EXTRACT來(lái)獲取對(duì)應(yīng)的內(nèi)容之后在使用上面的方法轉(zhuǎn)換。