Я использовал net/http
запрос веб-API, и сервер ответил на ответ JSON. Когда я печатаю тело ответа, он отображается как необработанное содержимое ASCII. Я попытался использовать bufio.ScanRunes
, чтобы проанализировать содержимое, но не удалось.Как сделать необработанное кодированное содержимое в формате Unicode доступным для чтения?
Я также попытался написать простой сервер и вернуть строку юникода, и он работал хорошо.
Вот основной код:
func (c ClientInfo) Request(method string, url string, form url.Values) string {
req, _ := http.NewRequest(method, url, strings.NewReader(c.Encode(form)))
req.Header = c.Header
req.AddCookie(&c.Cookie)
resp, err := http.DefaultClient.Do(req)
defer resp.Body.Close()
if err != nil {
fmt.Println(err)
}
scanner := bufio.NewScanner(resp.Body)
scanner.Split(bufio.ScanRunes)
var buf bytes.Buffer
for scanner.Scan() {
buf.WriteString(scanner.Text())
}
rv := buf.String()
fmt.Println(rv)
return rv
}
Вот пример вывода:
{ "Форум": { "ID": "3251718", "имя": "\ 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 \ и 90e8 "}, {" class_id ":" 1" , "имя_класс": "\ u516c \ u544a \ u7c7b"}, { "class_id": "2", "имя_класс": "\ u5427 \ u53cb \ u4e13 \ u533a" }, { "class_id": "4", "имя_класса": "\ u6d3b \ u52a8 \ u4e13 \ u533a"}, { "class_id": "6", "имя_класса": "\ u793e \ u56e2 \ u73ed \ u7ea7" }, { "class_id": "5", "имя_класс": "\ u8d44 \ u6e90 \ u5171 \ u4eab"}, { "class_id": "8", "имя_класс": "\ u6e29 \ u99a8 \ u751f \ u6d3b \ u7c7b "}, {" class_id ":" 7" , "имя_класса": "\ u54a8 \ u8be2 \ u65b0 \ u95fb \ u7c7b"}, { "class_id": "3", "имя_класса": "\ u98ce \ u91c7 \ u5c55 \ u793a \ u533a "}]," менеджеры ": [{" id ":" 793092593 "," name ":" yi \ u62b9 \ u660e \ u5a9a \ u76b \ u5fe7 \ u4a24a},
.. .
Спасибо за ваш ответ. – earlzo