gpt4 book ai didi

java - 使用正则表达式解析一个非常简单的 JSON 文件

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:47:22 27 4
gpt4 key购买 nike

我不确定是否可以完成,但我想将一个非常简单的 JSON 文件解析为一个字符串数组。

示例文件:

["String1", "String2", "oneMoreString"]

到目前为止,我认为我会使用带有模式的扫描仪来获取我的输出,但未能做到这一点。

    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 解析器?但因为文件太简单了,所以我认为没有必要。

最佳答案

最好使用像 Jackson Mapper 这样的 JSON 解析器来解析 JSON 字符串。

但是如果你有一个简单的字符串,你可以快速地使用一个示例正则表达式。

试试这个:

    String str = "[\"String1\", \"String2\", \"oneMoreString\"]";

Pattern pattern = Pattern.compile("\"(.+?)\"");
Matcher matcher = pattern.matcher(str);

List<String> list = new ArrayList<String>();
while (matcher.find()) {
// System.out.println(matcher.group(1));.
list.add(matcher.group(1));
}

关于java - 使用正则表达式解析一个非常简单的 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20544646/

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