1
Je voudrais convertir un fichier de propriétés Java en JSON avec des objets imbriqués. J'ai suivi un exemple que j'ai trouvé here mais je n'arrive pas à le faire fonctionner.Java Propriétés fichier à JSON en utilisant Jackson
Par exemple, avec:
objectA.version=1.0
objectA.hostname=192.168.0.11
objectA.port=9989
objectB.hostname=10.0.2.15
objectB.port=9998
Je veux:
{
“objectA” : {
"version” : "1.0"
"host” : “192.168.0.11”,
"port" : 9989
},
“objectB” : {
"host” : “10.0.2.15”,
"port" : 9998
}
}
C'est ce que j'ai jusqu'à présent:
static class Endpoint
{
@JsonProperty("objectA")
public ObjectA objectA;
@JsonProperty("objectB")
public ObjectB objectB;
}
static class ObjectA
{
public String hostname;
public String port;
public String version;
}
static class ObjectB
{
public String hostname;
public String port;
}
try (InputStream input = getClass().getClassLoader().getResourceAsStream("file.properties"))
{
JavaPropsMapper mapper = new JavaPropsMapper();
Endpoint host = mapper.readValue(input, Endpoint.class);
String asText = mapper.writeValueAsString(host);
System.out.println(asText);
}
La sortie ressemble à ceci:
objectA.version=1.0
objectA.hostname=192.168.0.11
objectA.port=9989
objectB.hostname=10.0.2.15
objectB.port=9998
Si vous souhaitez simplement imprimer la structure JSON du fichier de propriétés avec des parenthèses, vous pouvez utiliser un ObjectMapper. Voir cette référence: https://www.mkyong.com/java/how-to-enable-pretty-print-json-output-jackson/ – suguspnk
@suguspnk Ce n'est pas tout ce que je veux faire. Je veux convertir un fichier de propriétés en JSON avec une structure imbriquée (non plate). – ksl
Maintenant, je suis confus. @. @ – suguspnk