私にとって最も簡単なのは、Javaまたはgoで行うことです。
Java の場合:
readLine
を使用してファイル行を次々と読み取ることができますnew BufferedReader(new FileReader(file))
HashMap
あなたはHashMap<String,String>
読書中に記入することができます
- を作成する
new BufferedWriter(new FileWriter(outputfilepath))
- gsonを使用する場合は、使用するだけです
これ :
Gson gson = new Gson();
gson.toJson(myList, myFileOutputStreamWriter);
囲碁:
外部パッケージをインポートする必要はありません。Go には必要なものが含まれています。
これは次のようになります (他のエラー テストが適切です)。
package main
import (
"bufio"
"fmt"
"io"
"encoding/json"
"log"
"strings"
"os"
)
func main() {
myBigThing := make(map[string]map[string]string)
f, _ := os.Open("/home/dys/dev/go/src/tests/test.go")
r := bufio.NewReader(f)
var currentPage map[string]string
pageNum := 0
for {
line, err := r.ReadString('\n')
if err != nil {
if err != io.EOF {
log.Println("Error in parsing :", err)
}
break
}
if currentPage==nil {
currentPage = make(map[string]string)
myBigThing[fmt.Sprintf("page%d",pageNum)] = currentPage
pageNum++
} else if line=="" {
currentPage = nil
} else {
tokens := strings.Split(line, ":")
if len(tokens)==2 {
currentPage[tokens[0]] = tokens[1]
}
}
}
f, err := os.Create("/home/dys/test.json")
if err != nil {
log.Println("Error :", err)
return
}
defer f.Close()
bout, _ := json.Marshal(myBigThing)
f.Write(bout)
}