用java解析字符串

用java解析字符串,java,arrays,json,list,hdfs,Java,Arrays,Json,List,Hdfs,我有一个BuilderString,其中包含与此链接中相同的结果: 我想提取``的值。并返回包含所有文件名的字符串列表 我的代码是: 试试看{ HttpURLConnection conHttp=(HttpURLConnection)url.openConnection(); setRequestMethod(“GET”); conHttp.setDoInput(true); InputStream in=conHttp.getInputStream(); int-ch; StringBuil

我有一个
BuilderString
,其中包含与此链接中相同的结果:

我想提取``的值。并返回包含所有文件名的字符串列表

我的代码是:

试试看{
HttpURLConnection conHttp=(HttpURLConnection)url.openConnection();
setRequestMethod(“GET”);
conHttp.setDoInput(true);
InputStream in=conHttp.getInputStream();
int-ch;
StringBuilder sb=新的StringBuilder();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
如何解析JSON以获取
pathSuffix
的所有值并返回包含文件名的
字符串列表?

你能给我一个建议吗?感谢

这是JSON格式的数据;JSON是不规则的,因此,尝试用正则表达式解析它是不可能的,而尝试用子字符串和朋友解析它将花费您一周的时间,并且非常容易出错


读一读什么是(不用担心,它很容易理解!),然后得到一个好的JSON库(标准的JSON.org库绝对糟糕,不要得到那个),比如or,并且提取所需内容的代码将是健壮的,并且易于编写和测试。

这是JSON格式的数据;JSON是不规则的,因此,尝试用正则表达式解析它是不可能的,而尝试用子字符串和朋友解析它将花费您一周的时间,并且非常容易出错


读一读什么是(不用担心,它很容易理解!),然后得到一个好的JSON库(标准的JSON.org库绝对糟糕,不要得到那个),比如or,并且提取所需内容的代码将是健壮的,并且易于编写和测试。

我不建议从头开始为hadoop构建API绑定。 Java语言已存在此绑定:


我不建议从头开始为hadoop构建API绑定。 Java语言已存在此绑定:

好的选择

执行以下步骤:

  • 使用以下命令获取值:
    JSONObject.Get(“FileStatus”).getAsJson().Get(“FileStatus”).getAsJsonArray()
  • 在数组中获取所需的值
  • 坏选项

    尽管如前所述,但不建议使用此选项-如果您想继续使用字符串,可以使用:

    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);
    }
    
    好的选择

    执行以下步骤:

  • 使用以下命令获取值:
    JSONObject.Get(“FileStatus”).getAsJson().Get(“FileStatus”).getAsJsonArray()
  • 在数组中获取所需的值
  • 坏选项

    尽管如前所述,但不建议使用此选项-如果您想继续使用字符串,可以使用:

    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);
    }
    


    这不是真正的字符串,而是JSON。解析JSON和解析字符串有点不同。您需要使用一些JSON库。例如,gson或jacksonies是JSON。我的输出与链接中的输出相同。但是,我将其转换为字符串,试图找到解析它的解决方案:)假设我有一个JSON。在我的代码中,直到字符串response=sb.toString();如何通过JSON解析它来提取pathSuffix的值?多谢了,这不是真正的字符串,而是JSON。解析JSON和解析字符串有点不同。您需要使用一些JSON库。例如,gson或jacksonies是JSON。我的输出与链接中的输出相同。但是,我将其转换为字符串,试图找到解析它的解决方案:)假设我有一个JSON。在我的代码中,直到字符串response=sb.toString();如何通过JSON解析它来提取pathSuffix的值?谢谢,你用的是哪种语言?它是java,就像前面提到的标题一样。例如,第一行不是java。我不明白你的解决办法。事实上,我正在寻找的是解析StringBuilder(sb)中的JSON,获取pathSuffix的所有值并返回包含文件名的字符串列表。现在是java。我为你操纵了字符串(str)。请将您的消息编辑为:“如何解析JSON以获取pathSuffex的所有值并返回包含文件名的字符串列表?”,我们将为您回答:)我编辑了我的问题。提前感谢您使用的是哪种语言?它是java,就像前面提到的标题一样。它似乎是准java。例如,第一行不是java。我不明白你的解决办法。事实上,我正在寻找的是解析StringBuilder(sb)中的JSON,获取pathSuffix的所有值并返回包含文件名的字符串列表。现在是java。我为你操纵了字符串(str)。请将您的消息编辑为:“如何解析JSON以获取pathSuffex的所有值并返回包含文件名的字符串列表?”,我们将为您回答:)我编辑了我的问题。首先感谢Hanks,但我不想使用Hadoop的任何依赖项谢谢,但我不想使用Hadoop的任何依赖项您能为我提出一个解决方案吗?我想提取pathSuffix的值并返回包含所有文件名的字符串列表。提前感谢是的;将Jackson添加到您的依赖项列表中,仔细阅读如何使用它。您能为我提出一个解决方案吗?我想提取pathSuffix的值并返回包含所有文件名的字符串列表。提前感谢是的;将Jackson添加到您的依赖项列表中,了解如何使用它。