Я пишу функцию, в которой я получаю данные в формате JSON.Я хочу преобразовать этот JSON в строковый формат, а затем записать в файл журнала.Ниже мой код:
func JSONToString(logs map[string]interface{}){
jsonLog, err := json.Marshal(logs)
if err != nil {
fmt.Println(err.Error())
}
jsonLogString := string(jsonLog[:len(jsonLog)])
logfile := "/ServiceLogs/" + "UploadServiceLog_" + currentTime.Format("2006-01-02") + ".txt"
jsonLogFile, err := os.OpenFile(logfile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
if err != nil {
fmt.Println(err.Error())
}
defer jsonLogFile.Close()
jsonLogFile.WriteString(jsonLogString + "\n")
jsonLogFile.Close()
}
Теперь то, что я получаю в журналах, похоже на
{"Ошибки": {}, "RequestEnd": 1569214715575873000, "ResponseTime": 1569214715575.873, «ServiceName»: «IMAGE_LISTING_SERVICE», «Times»: {«BasicValidationTime»: 0,150016, «ExtraValidationTime»: 0,002048, «FormParsingTime»: 0,479232, «ImagePgConnectionTime»: 0,31488, «RequestDecodingTime»: 1007 * 1007} 0,009216*
Но я действительно хотел это:
"{\" Ошибки \ ": {}, \" RequestEnd \ ": 1569214715575873000, \" ResponseTime \ ": 1569214715575.873, \" ServiceName \ "": \" IMAGE_LISTING_SERVICE \ "\ "Времена \": {\ "BasicValidationTime \": 0.150016, \ "ExtraValidationTime \": 0.002048, \ "FormParsingTime \": 0.479232, \ "ImagePgConnectionTime \": 0,31488, \" RequestDecodingTime\ ": 0.009216}}"
Я не знаю, как этого добиться.