如何转换所有 json 文件。 JSON 文件的程序读取路径

How to convert all json file. Program read path of JSON file

我尝试将 json 文件转换为对象,它 运行 当我使用一个 trans-unit 但当我尝试读取两个 trans-unit 时出现问题。 json 的程序只读路径。我使用 JSONParser 和 JSONObject

        JSONParser jsonParser = new JSONParser();
        JSONObject obj = (JSONObject) jsonParser.parse(new FileReader(args[1]));

        JSONObject transUnit = (JSONObject) obj.get("trans-unit");
        id = (String) transUnit.get("id");
        if (id == null) {
            System.out.println("Id is required parameter!");
            return;
        }
        source = (String) transUnit.get("source");

        JSONObject targetList = (JSONObject) transUnit.get("target");
        if (targetList != null) {
            qualifier = (String) targetList.get("state-qualifier");
            targetText = (String) targetList.get("target-text");
        }
        JSONObject altTransList = (JSONObject) transUnit.get("alt-trans");
        if (altTransList != null) {
            extype = (String) altTransList.get("extype");
            match = (String) altTransList.get("match-quality");
            origin = (String) altTransList.get("origin");
            sourceAlt = (String) altTransList.get("source");
            targetAlt = (String) altTransList.get("target");
        }

它运行,当我阅读下面的json文件时

 "trans-unit": {
  "id": "t1",
  "source": "Text text text text",
  "target": {
   "state-qualifier": "exact-match",
   "target-text": "Tekst tekst tekst tekst",
  },
  "alt-trans": {
   "extype": "exact-match",
   "match-quality": "100%",
   "source": "Text text text text",
   "target": "Tekst tekst tekst tekst"
  }
 }
}

但是当阅读这篇文章时 json:

{
  "trans-unit": {
    "id": "t1",
    "source": "Text text",
    "target": {
      "state-qualifier": "match",
      "target-text": "Tekst tekst"
    },
    "alt-trans": {
      "extype": "match",
      "match-quality": "100%",
      "source": "Text text",
      "target": "Tekst tekst"
    }
  },
  "trans-unit": {
    "id": "t2",
    "source": "Hello there.",
    "target": {
      "state-qualifier": "mt",
      "target-text": "Cześć"
    },
    "alt-trans": {
      "extype": "TRANSLATION",
      "match-quality": "nmt",
      "source": "Hello there.",
      "target": "Cześć"
    }
  }
}

JSON 不读取 ID 为 t1 的传输单元,只读取传输单元 t2。
我不知道问题出在哪里。有人可以帮忙吗?

你真正想要达到的目标是什么?

我认为问题在于,第二个 json 数据是一种列表或数组。 所以你只会得到最后一个 "object".

你可以使用像 gson 这样的库吗?这样会容易很多。