gpt4 book ai didi

java - 在java中将.txt文件转换为.json文件

转载 作者:行者123 更新时间:2023-12-02 00:41:31 32 4
gpt4 key购买 nike

我目前正在尝试将多个 .txt 文件合并到一个大 json 文件中。我创建了一个函数,它接受 txt 文件作为参数,并且它也会写入 json 文件。我正在利用 google 的 simple-json 包来处理 json 对象的创建。

我遇到的主要问题是它成功写入 json 文件,但格式不正确。

例如,这是文本文件的一行


{"sensor_name":"Activity ","timestamp":{"start_time":"2017 年美国东部时间 1 月 5 日星期四 00:00:00","end_time":"2017 年美国东部时间 1 月 5 日星期四 07:57:33"},"Sensor_data":{"Activity ":"未知","持续时间":28653345}}

我的方法是循环文件,将每一行转换为 JSONObject 类型,然后将该 JSONObject 写入文件。该代码成功将 JSONObject 写入文件,但无法正确格式化 .json。

以下是 .json 的示例。

{"sensor_data":{"duration":41143403,"activity":"unknown"},"sensor_name":"Activity","timestamp":{"start_time":"Mon Mar 6 00:00:00 EST 2017","end_time":"Mon Mar 6 11:25:44 EST 2017"}}
{"sensor_data":{"duration":61245,"activity":"walking"},"sensor_name":"Activity","timestamp":{"start_time":"Mon Mar 6 11:25:44 EST 2017","end_time":"Mon Mar 6 11:26:45 EST 2017"}}
{
{
"sensor_data":{
"duration":41143403,
"activity":"unknown"
},
"sensor_name":"Activity",
"timestamp":{
"start_time":"Mon Mar 6 00:00:00 EST 2017",
"end_time":"Mon Mar 6 11:25:44 EST 2017"
},
},
{
"sensor_data":{
"duration":61245,
"activity":"walking"
},
"sensor_name":"Activity",
"timestamp":{
"start_time":"Mon Mar 6 11:25:44 EST 2017",
"end_time":"Mon Mar 6 11:26:45 EST 2017"
}
},
},

要记住的重要细节是在每个对象的末尾添加逗号。解析器和 .toString 方法都不会处理它

/*
* method to set up a txt file as a json file
* each line in the text file is considered an object
* Args[]
* txtFile (File): text file that is not formatted in json
* fileToWriteTo (FileWriter): the file that the json will be written to
* returns
* none
* */
private void prepareForJson(File txtFile, FileWriter fileToWriteTo) {
// parser for reading strings
JSONParser parser = new JSONParser();
BufferedReader reader;
try {
reader = new BufferedReader((new FileReader(txtFile)));
String line = reader.readLine();

// convert that line to an json object
while (line != null) {
JSONObject lineConvertedToJson = (JSONObject) parser.parse(line);
// write to the file
fileToWriteTo.write(lineConvertedToJson.toJSONString());
// read the next line
line = reader.readLine();
}
} catch (Exception e){
e.getStackTrace();
}
}

关于如何将 txt 文件正确格式化为 json 文件有什么建议吗?

最佳答案

如果 .txt 文件包含相同的结构化 json 内容,您可以读取每个 .txt 文件,创建一个带有左括号([)的字符串,然后将内容放入字符串中,在字符串后面添加逗号(,)。最后放入右括号 (]) 并将整个字符串写入文件。即使多了一个逗号,在 json 对象结束之后,数组之前,表示在右括号之前,也可以。你检查http://jsonviewer.stack.hu/中json的全部内容地点。这种方法不需要json解析。但是,您仍然可以通过读取每个文件并创建一个 json 对象数组,最后写入文件来使用 Json 解析。

关于java - 在java中将.txt文件转换为.json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57937673/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com