如何将文本文件转换为Json文件? 我有一个原始的in.txt文件,如下所示:
{“person”:{“name”:”AAAA”,”sid”:09328,”location”:”Sao Paulo”}}
{“person”:{“name”:”BBBBB”,”sid”:01934,”location”:”Brasilia”}}
非常感谢一点帮助!
答案 0 :(得分:3)
要在JSON中转换文本文件,您可以在代码中使用JACKSON OBJECT MAPPER jar。
创建一个简单的Employee pojo。我们将从文件中读取JSON字符串并将其映射到Employee类。
这是代码:
public class Employee {
private int empId;
private String name;
private String designation;
private String department;
private int salary;
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("************************************");
sb.append("\nempId: ").append(empId);
sb.append("\nname: ").append(name);
sb.append("\ndesignation: ").append(designation);
sb.append("\ndepartment: ").append(department);
sb.append("\nsalary: ").append(salary);
sb.append("\n************************************");
return sb.toString();
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
这个POJO CLASS之后 最后这里是将JSON字符串值转换为java对象的示例
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.map.ObjectMapper;
import com.java2novice.json.models.Employee;
public class JsonToObject {
public static void main(String a[]){
ObjectMapper mapper = new ObjectMapper();
try {
File jsonInputFile = new File("C:\\jsonInput.txt");
Employee emp = mapper.readValue(jsonInputFile, Employee.class);
System.out.println(emp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
AND这是你的JSON文件: jsonInput.txt文件包含json输入:
{
"empId": 1017,
"name": "Nagesh Y",
"designation": "Manager",
"department": "Java2Novice",
"salary": 30000
}
希望这会对你有所帮助。
答案 1 :(得分:1)
首先,您需要下载Java的JSON库。转到this page,然后点击“免费源代码可用”。这将引导您进入GitHub页面,单击下载,下载整个库,将其解压缩,将整个解压缩的文件夹复制到项目的源文件夹中,并将其作为项目源包含在内。在Eclipse中,这将右键单击项目 - >构建路径 - >配置构建路径... - > Java Build Path,在Source选项卡下,单击“Add folder”并指向解压缩的文件夹。
然后,您可以逐行开始阅读文件,并将每个文件简单地传递给新JSONObject
的构造函数。例如:
BufferedReader br = new BufferedReader(...);
String line;
while ((line = br.readLine()) != null) {
JSONObject obj = new JSONObject(line);
...
...
}
但是,我想重申科多的评论。您使用的是印刷引号(”
,倾斜)而不是实际的双引号("
,直),因此您可能希望在继续之前replace()
每次出现该引号。此外,trim()
之前将该行传递给JSONObject
,只是为了摆脱任何尾随的空格。
答案 2 :(得分:0)
使用this api然后:
JsonParser parser = new JsonParser();
JsonObject o = (JsonObject)parser.parse(one_by_one_line_from_text_file);
答案 3 :(得分:-1)
您的文本文件已包含有效的JSON。
如果您的目标是获取JSON对象,那么您可能正在寻找this函数。