我有以下的JSON字符串的TXT文件:解析TXT使用JSON字符串作为列表文件<MyDataEntry>
{"id":1,"data":"abc"}
{"id":2,"data":"rbc"}
{"id":3,"data":"gbc"}
我看了这个文件,如下所示:
File f = new File("src/test/resources/jsons.txt");
if (f.exists()){
InputStream is = new FileInputStream("src/test/resources/jsons.txt");
data = IOUtils.toString(is);
}
现在我想解析此文件的内容为List<MyDataEntry>
。这是类MyDataEntry
的代码段代码。
如何正确提取每个单独的JSON字符串并将其发送给构造函数MyDataEntry
?有没有更有效的方法来做到这一点?
class MyDataEntry {
private String id;
private String data;
public MyDataEntry(String rawDataEntry)
{
parse(rawDataEntry);
}
private parse(String rawDataEntry)
{
JSONObject rd = new JSONObject(rawDataEntry);
if(rd.has("id")){
id = data.getString("id");
}
if(rd.has("data")){
data = data.getString("data");
}
}
}
你有没有在文件控制对于垫?如果您将文件转换为有效的json,例如“[数据”:“abc”},“数据”:“rbc”},{\t“id” :3,“data”:“gbc”}]'你可以使用许多不同的json库中的一个来解析输入(jackson,gson,)。你可以使用http://jsonlint.com/来检查你的json的格式。 – lippertsjan
您是指在速度/内存或代码行数方面有效率? –
如果您使用的是SimpleJSON(或GSON,或者其他任何JSON库,那么您应该可以将整个文件读入JSON对象,然后遍历数组,qv [here](https:// www。 –