Heim >Backend-Entwicklung >Golang >Wie gehe ich mit codierten Unicode-Inhalten in JSON mit Go um?

Wie gehe ich mit codierten Unicode-Inhalten in JSON mit Go um?

Susan Sarandon
Susan SarandonOriginal
2024-12-10 02:04:08634Durchsuche

How to Handle Encoded Unicode Content in JSON Using Go?

So gehen Sie mit codiertem Unicode-Inhalt um

Wenn Sie in einer JSON-Antwort auf rohen ASCII-Inhalt stoßen, handelt es sich möglicherweise um codierten Unicode-Inhalt. Um den Text ohne Anführungszeichen anzuzeigen, können Sie das JSON-Paket verwenden.

func main() {
    var i interface{}
    err := json.Unmarshal([]byte(src), &i)
    fmt.Println(err, i)
}

const src = `{"forum":{"id":"3251718","name":"\u5408\u80a5\u5de5\u4e1a\u5927\u5b66\u5ba3\u57ce\u6821\u533a","first_class":"\u9ad8\u7b49\u9662\u6821","second_class":"\u5b89\u5fbd\u9662\u6821","is_like":"0","user_level":"1","level_id":"1","level_name":"\u7d20\u672a\u8c0b\u9762","cur_score":"0","levelup_score":"5","member_num":"80329","is_exists":"1","thread_num":"108762","post_num":"3445881","good_classify":[{"class_id":"0","class_name":"\u5168\u90e8"},{"class_id":"1","class_name":"\u516c\u544a\u7c7b"},{"class_id":"2","class_name":"\u5427\u53cb\u4e13\u533a"},{"class_id":"4","class_name":"\u6d3b\u52a8\u4e13\u533a"},{"class_id":"6","class_name":"\u793e\u56e2\u73ed\u7ea7"},{"class_id":"5","class_name":"\u8d44\u6e90\u5171\u4eab"},{"class_id":"8","class_name":"\u6e29\u99a8\u751f\u6d3b\u7c7b"},{"class_id":"7","class_name":"\u54a8\u8be2\u65b0\u95fb\u7c7b"},{"class_id":"3","class_name":"\u98ce\u91c7\u5c55\u793a\u533a"}]}}`

Ausgabe:

<nil> map[forum:map[levelup_score:5 is_exists:1 post_num:3445881 good_classify:[map[class_id:0 class_name:全部] map[class_id:1 class_name:公告类] map[class_id:2 class_name:吧友专区] map[class_id:4 class_name:活动专区] map[class_id:6 class_name:社团班级] map[class_id:5 class_name:资源共享] map[class_id:8 class_name:温馨生活类] map[class_name:咨询新闻类 class_id:7] map[class_id:3 class_name:风采展示区]] id:3251718 is_like:0 cur_score:0

Wenn Sie ein bestimmtes Fragment lieber ohne Anführungszeichen versehen möchten, verwenden Sie strconv.Unquote():

fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))

Ausgabe:

素未谋 <nil>

Beachten Sie, dass strconv.Unquote() eine Zeichenfolge erfordert in Anführungszeichen. Rohe String-Literale können verwendet werden, um solche Strings einzuschließen, wodurch verhindert wird, dass der Compiler Unicode-Escapezeichen interpretiert.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit codierten Unicode-Inhalten in JSON mit Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn