【发布时间】:2013-12-30 22:21:42
【问题描述】:
我不确定是否可以完成,但我想将一个非常简单的 JSON 文件解析为字符串数组。
示例文件:
["String1", "String2", "oneMoreString"]
到目前为止,我认为我会使用带有模式的 Scanner 来获取我的输出,但没有做到这一点。
ArrayList<String> strings = new ArrayList<String>();
File f = new File("src/sample.txt");
String pattern = "\\s*[\"\"]\\s*";
try {
InputStream is = new FileInputStream(f);
Scanner s = new Scanner(is);
s.useDelimiter(pattern);
while (s.hasNext()){
strings.add(s.next());
}
s.close();
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
因为该模式显然是错误的,因为它认为“,”是合适的,但我希望它不会被包括在内...:S
我也接受可能适用于任何其他解析方式的建议。也许是 JSON 解析器?但因为文件太简单,我认为没有必要。
【问题讨论】:
-
你可以看看 GSON parser code.google.com/p/google-gson
-
进入了我的路径jackson.codehaus.org,但使用 JSON 解析器似乎有点矫枉过正......
-
@Daren,不,一点也不矫枉过正(使用 Jackson/Gson)。引入 10 多行正则表达式代码来处理简单的 JSON 字符串并不是可行的方法 (IMO)。
-
好的,json 格式,谢谢你的意见。