a = Image.open(path2 + '\\'+ imlist[0])
У вас была небольшая ошибка кода. "Data1"
, который не является правильным путем
Вы можете использовать JavaPropsMapper
из библиотеки Джексона. Но вы должны определить иерархию объектов принимающего объекта json, прежде чем использовать его, чтобы иметь возможность анализировать строку json и создавать из нее объект java.
Как только у вас есть java-объект, успешно созданный из json, вы можете преобразовать его в объект Properties
, а затем сериализовать его в файл, и это создаст то, что вы хотите.
Пример json:
{ "title" : "Home Page",
"site" : {
"host" : "localhost"
"port" : 8080 ,
"connection" : {
"type" : "TCP",
"timeout" : 30
}
}
}
И иерархия классов для сопоставления вышеуказанной структуры JSON:
class Endpoint {
public String title;
public Site site;
}
class Site {
public String host;
public int port;
public Connection connection;
}
class Connection{
public String type;
public int timeout;
}
Таким образом, вы можете создать из нее объект java Endpoint
и конвертировать в объект Properties
, а затем вы можете сериализовать в файл .properties
:
public class Main {
public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
String json = "{ \"title\" : \"Home Page\", "+
"\"site\" : { "+
"\"host\" : \"localhost\", "+
"\"port\" : 8080 , "+
"\"connection\" : { "+
"\"type\" : \"TCP\","+
"\"timeout\" : 30 "+
"} "+
"} "+
"}";
ObjectMapper om = new ObjectMapper();
Endpoint host = om.readValue(json, Endpoint.class);
JavaPropsMapper mapper = new JavaPropsMapper();
Properties props = mapper.writeValueAsProperties(host);
props.store(new FileOutputStream(new File("/path_to_file/json.properties")), "");
}
}
Когда вы откроете файл json.properties
, вы увидите вывод:
site .connection.type = TCP
site.connection.timeout = 30
site.port = 8080
site.host = localhost
title = Главная Страница
blockquote>Идея возникла из этой статьи.
Надеюсь, это будет полезно.