7

您如何建议将文本文件转换为 JSON 格式?

我有一个包含大约 500 位文本的文本文件,格式如下:

[number in brackets or astriek]
[line1]
[line2]
[line3]
[space]
.
.
.

我想将其转换为 JSON,如下所示:

"page1": {
   "line1": "LINE1",
   "line2": "LINE2",
   "line3": "LINE3"
},
"page2": {
   "line1": "LINE1",
   "line2": "LINE2",
   "line3": "LINE3"
}
.
.
.

想法?

4

3 回答 3

3

你可以用明胶

您将使用语法来定义您的输入文本(如果您以前从未这样做过,可能会有点困难)。然后,您只需通过 Gelatin 使用您的语法文件运行您的文本文件,并指定输出。

编辑 1:如果您发布要转换的内容的片段会很有帮助。

于 2012-06-29T16:37:34.210 回答
2

对我来说最简单的方法是用 java 或 go 来做。

在 Java 中:

  • readLine您可以使用 a逐行读取文件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)
}
于 2012-06-29T16:35:15.617 回答
0

使用 Visual Studio

如果您在文本文件中有所需的数据,这将是最佳选择。

打开 Visual Studio 并在 File menu --> New --> File 下安装,你应该有“Web”选项。那里列出的格式之一是 JSON。

选择它并在VS中复制并粘贴您的文本文档。保存文件,它是 JSON 格式。

于 2017-05-16T16:37:39.530 回答