Правильное преобразование JSON в строку - PullRequest
0 голосов
/ 23 сентября 2019

Я пишу функцию, в которой я получаю данные в формате 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}}"

Я не знаю, как этого добиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...