Я пишу программу на Голанге, которая взаимодействует с модифицированной версией библиотеки barefoot mapmatching, которая возвращает результаты в формате json через netcat.
My в моем действительном коде json.Unmarshal
willтолько анализируйте ответ на нулевое значение структуры. Но если вы распечатываете json на консоль (см. Фрагмент кода ниже) и копируете вставку в goplayground , она ведет себя как положено.
Мне интересно, если это проблема с кодировкой, которая обходит, когда я копирую вставить из консоли в результате.
Как я могу получить мой код для обработки той же строки, как она полученаиз босиком, как при копировании с консоли?
Здесь приведен соответствующий фрагмент кода (структуры идентичны goplayground)
body := io_func(conn, cmd)
var obvs []Json_out
json.Unmarshal([]byte(body), &obvs)
fmt.Println(body)
fmt.Println(obvs)
и io_func()
, если необходимо (ответдве строки, с сообщением в первой и строкой json во второй)
func io_func(conn net.Conn, cmd string) string {
fmt.Fprintf(conn, cmd+"\n")
r := bufio.NewReader(conn)
header, _ := r.ReadString('\n')
if header == "SUCCESS\n" {
resp, _ := r.ReadString('\n')
return resp
} else {
return ""
}
}