0

我正在尝试解析 GFF 文件并搜索特定的基因 ID,如果找到,则将该基因 ID 的整行转换为 JSONArray 的元素。

但是,当我执行上述操作时,数组中不存在列标题:

try{
        BufferedReader reader = new BufferedReader(new FileReader(filepath));
    json = "";

    StringBuilder sb = new StringBuilder();
    String line;

    while ((line = reader.readLine()) != null ) {

        if (line.contains("Solyc02g065040")){
            sb.append(line);
            sb.append("\n");
            System.out.println(sb);

        }
        else{
            //do nothing
        }
    }

    json = sb.toString();
    System.out.println(json);
    reader.close();

    String [] gffArray = json.split("\n");
    System.out.println(gffArray);



    JSONArray jsArray = new JSONArray();
    for (int i = 0; i < gffArray.length; i++) {
        jsArray.put(gffArray[i]);
    }

    System.out.println(jsArray);

输出如下所示:

["SL3.0ch02\tmaker_ITAG\tgene\t36723123\t36723359\t.\t-\t.\tID=gene:Solyc02g065040.1;Alias=Solyc02g065040;Name=Solyc02g065040.1;length=236"]

而我希望它看起来像这样,保留标题:

["seqname":"SL3.0ch02", "source":"maker_ITAG","feature":"gene", "start":"36723123", "end":"36723359","attribute":"ID=gene:Solyc02g065040.1;Alias=Solyc02g065040;Name=Solyc02g065040.1;length=236"]

我需要它是这样的,这样我就可以根据这些在 javafx 中填充一个表,方法是:

(jsArray.getJSONObject(i).getString("seqname"))
(jsArray.getJSONObject(i).getString("gene"))

任何帮助将不胜感激,谢谢。

4

0 回答 0