Go語(yǔ)言是一門具備高效性和功能強(qiáng)大的程序語(yǔ)言。它被廣泛運(yùn)用于Web開(kāi)發(fā)、系統(tǒng)編程和云計(jì)算上,是目前最為流行的語(yǔ)言之一。其中,Go語(yǔ)言讀取和操作JSON文件是它一個(gè)獨(dú)特的優(yōu)點(diǎn)。
一般來(lái)說(shuō),在處理JSON文件時(shí),Go語(yǔ)言常使用“json”和“ioutil”等庫(kù)來(lái)完成對(duì)文件的讀取和寫(xiě)入。本文將演示如何將JSON數(shù)據(jù)每行寫(xiě)入到文件中。
//創(chuàng)建一個(gè)字符數(shù)組
var jsonDataArr []byte
jsonDataArr, _ = json.MarshalIndent(person, "", "\t")
//將json數(shù)據(jù)每行寫(xiě)入到文件中
f, err := os.Create("person.json")
defer f.Close()
if err != nil {
fmt.Println(err)
}
//將字符數(shù)組中的數(shù)據(jù)讀取并寫(xiě)入到文件中
for _, item := range jsonDataArr {
f.WriteString(fmt.Sprintf("%s", string(item)))
}
首先,我們要先創(chuàng)建一個(gè)字符數(shù)組,可以使用Go語(yǔ)言自帶的“json”庫(kù)中的“MarshalIndent”方法。該方法的作用是將JSON序列化為字符數(shù)組。接下來(lái),我們定義一個(gè)文件對(duì)象“f”,通過(guò)調(diào)用Go語(yǔ)言自帶的“os”庫(kù)中的“Create”方法,創(chuàng)建一個(gè)新的文件。然后,我們使用“WriteString”方法將字符數(shù)組中的每個(gè)字符逐個(gè)寫(xiě)入到文件中。
最后,我們需要在程序運(yùn)行結(jié)束時(shí),關(guān)閉文件對(duì)象,以確保資源得到釋放。通過(guò)這種方式,我們就可以輕松地將JSON數(shù)據(jù)每行寫(xiě)入到文件中。