解析字符串 java
Parse a String java
我有一个 BuilderString
包含与此 link 相同的结果:
https://hadoop.apache.org/docs/current/hadoop-project-dist/
我正在寻找提取 `` 的值。 return 包含所有文件名的字符串列表。
我的代码是:
try {
HttpURLConnection conHttp = (HttpURLConnection) url.openConnection();
conHttp.setRequestMethod("GET");
conHttp.setDoInput(true);
InputStream in = conHttp.getInputStream();
int ch;
StringBuilder sb = new StringBuilder();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如何解析 JSON 以获取 pathSuffix
和 return 的所有值以及包含文件名的 list of string
?
你能给我一个建议吗?谢谢
即JSON格式化数据; JSON 不是正则的,因此,试图用正则表达式解析它是不可能的,而试图用子字符串和朋友解析它会花费你一周的时间,而且很容易出错。
阅读内容 JSON is (no worries; it's very simple to understand!), then get a good JSON library (the standard json.org library absolutely sucks, don't get that one), such as Jackson or GSON,用于提取所需内容的代码将非常健壮且易于编写和测试。
我不建议从头开始为 hadoop 构建 API 绑定。
Java 语言已经存在此绑定:
不错的选择
执行以下步骤:
- Convert to JSON
- 获取值使用:
JSONObject.get("FileStatuses").getAsJson().get("FileStatus").getAsJsonArray()
- Iterate over all objects在数组中得到你想要的值
错误选项
尽管如前所述,不建议这样做 - 如果您想继续使用字符串,您可以使用:
String str_to_find= "pathSuffix" : \"";
while (str.indexOf(str_to_find) != -1){
str = str.substring(str.indexOf(str_to_find)+str_to_find.length);
value = str.substring(0,str.indexOf("\""));
System.out.println("Value is " + value);
}
我有一个 BuilderString
包含与此 link 相同的结果:
https://hadoop.apache.org/docs/current/hadoop-project-dist/
我正在寻找提取 `` 的值。 return 包含所有文件名的字符串列表。
我的代码是:
try {
HttpURLConnection conHttp = (HttpURLConnection) url.openConnection();
conHttp.setRequestMethod("GET");
conHttp.setDoInput(true);
InputStream in = conHttp.getInputStream();
int ch;
StringBuilder sb = new StringBuilder();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
如何解析 JSON 以获取 pathSuffix
和 return 的所有值以及包含文件名的 list of string
?
你能给我一个建议吗?谢谢
即JSON格式化数据; JSON 不是正则的,因此,试图用正则表达式解析它是不可能的,而试图用子字符串和朋友解析它会花费你一周的时间,而且很容易出错。
阅读内容 JSON is (no worries; it's very simple to understand!), then get a good JSON library (the standard json.org library absolutely sucks, don't get that one), such as Jackson or GSON,用于提取所需内容的代码将非常健壮且易于编写和测试。
我不建议从头开始为 hadoop 构建 API 绑定。 Java 语言已经存在此绑定:
不错的选择
执行以下步骤:
- Convert to JSON
- 获取值使用:
JSONObject.get("FileStatuses").getAsJson().get("FileStatus").getAsJsonArray()
- Iterate over all objects在数组中得到你想要的值
错误选项
尽管如前所述,不建议这样做 - 如果您想继续使用字符串,您可以使用:
String str_to_find= "pathSuffix" : \"";
while (str.indexOf(str_to_find) != -1){
str = str.substring(str.indexOf(str_to_find)+str_to_find.length);
value = str.substring(0,str.indexOf("\""));
System.out.println("Value is " + value);
}