Comment créer un fichier JSON dans un format particulier en Java
Je suis en train d'écrire un fichier JSON à l'aide de Java dans un format particulier. Par exemple: supposons que je voudrais obtenir le fichier JSON écrite dans le format suivant:
{
"resource":[{"name":"Node1"}],
"literals":[{"literal":"A", "B", "C", "D"}]
}
Comme vous pouvez le remarquer, dans resource
, je voudrais écrire des chaînes de là et dans literals
, je voudrais avoir une liste de tableaux de chaînes de caractères. Voici mes codes Java:
public void writeJSON() {
public ArrayList<String> literals = new ArrayList<String>();
literals.add("A");
literals.add("B");
literals.add("C");
literals.add("D");
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
jsonObject.put("name", resources.getResource());
resources.setLiterals(literals);
jsonObject.put("literal", resources.getLiterals());
try {
FileWriter file = new FileWriter("/Users/Documents/sample.json");
file.write(jsonObject.toJSONString());
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Voici le fichier Java où j'ai mis et obtenir les valeurs pour le fichier JSON:
public class Resources {
String resource;
ArrayList<String> literals;
public Resources()
{
}
public void setResource(String resource)
{
this.resource = resource;
}
public String getResource()
{
return resource;
}
public void setLiterals(ArrayList<String> literals)
{
this.literals = literals;
}
public ArrayList<String> getLiterals()
{
return literals;
}
}
Quelqu'un pourrait s'il vous plaît aider moi comment faire pour créer un fichier JSON basé sur le format indiqué ci-dessus. Votre aide serait très appréciée.
- Vous avez évidemment le font déjà quelque chose en essayant de générer du JSON. Comment est-il pas de faire ce que vous voulez?
{"source":"A", "B", "C", "D"}
ce n'est pas Json valide.- J'ai généré ce fichier, mais malheureusement pas le format que je veux. Il ne pas me montrer "ressources" et "littéraux". Aucune idée de la façon de produire de ce format particulier?
- Vous ne pouvez pas générer "que format particulier" à l'aide de JSON.
Vous devez vous connecter pour publier un commentaire.
Permet de commencer que
Json
vous essayez de créer n'est pas valide.C'est ce que vous avez:
Comme vous pouvez le voir
resource
semble OK - c'est un objet qui contientList
d'objets.D'autre part
literals
est un objet qui contient unList
de quoi? depuis pas{"source":"A", "B", "C", "D"}
ni{"source":"E", "F", "G", "H"}
est valideJson
.Figure cette première, puis mettre à jour votre
java
code et nous allons aller de là.Si c':
{"resource":[{"name":"Node1"}],"literals":[{"literal":["A","B","C","D"]}]}
est souhaitable, alors vous pouvez le faire de la manière suivante(je vais utiliser Gson):"literals":[{"literal":"A", "B", "C", "D"}]
n'est pas valide. Je pense que vous vouliez faire cela:"literals":[{"literal":["A", "B", "C", "D"]}]
- c'est à direliterals
est un objet qui contient un seul membre nomméliteral
et c'est unList
. C'est que supposition correcte?