Olá Marcos, tudo bem?
Você poderia fazer algo conforme abaixo:
public class Main {
public static void main(String[] args) {
String minhaString = "1-carro;2-moto;3-barco";
String[] split = minhaString.split(";");
JSONArray ja = new JSONArray();
for(String value : split) {
JSONObject jsonObj = new JSONObject();
String[] keyValue = value.split("-");
jsonObj.put("id", keyValue[0]);
jsonObj.put("ds", keyValue[1]);
ja.put(jsonObj);
}
System.out.println(ja);
}
}
resultado:
[{"id":"1","ds":"carro"},{"id":"2","ds":"moto"},{"id":"3","ds":"barco"}]
fonte: https://www.baeldung.com/java-org-json
lib json: https://mvnrepository.com/artifact/org.json/json/20211205