Je veux que mon JSON ressemble à ceci:
{
"information": [{
"timestamp": "xxxx",
"feature": "xxxx",
"ean": 1234,
"data": "xxxx"
}, {
"timestamp": "yyy",
"feature": "yyy",
"ean": 12345,
"data": "yyy"
}]
}
Code jusqu'à présent:
import java.util.List;
public class ValueData {
private List<ValueItems> information;
public ValueData(){
}
public List<ValueItems> getInformation() {
return information;
}
public void setInformation(List<ValueItems> information) {
this.information = information;
}
@Override
public String toString() {
return String.format("{information:%s}", information);
}
}
et
public class ValueItems {
private String timestamp;
private String feature;
private int ean;
private String data;
public ValueItems(){
}
public ValueItems(String timestamp, String feature, int ean, String data){
this.timestamp = timestamp;
this.feature = feature;
this.ean = ean;
this.data = data;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getFeature() {
return feature;
}
public void setFeature(String feature) {
this.feature = feature;
}
public int getEan() {
return ean;
}
public void setEan(int ean) {
this.ean = ean;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
@Override
public String toString() {
return String.format("{timestamp:%s,feature:%s,ean:%s,data:%s}", timestamp, feature, ean, data);
}
}
Il me manque juste la partie comment je peux convertir l'objet Java en JSON avec Jackson:
public static void main(String[] args) {
// CONVERT THE JAVA OBJECT TO JSON HERE
System.out.println(json);
}
Ma question est la suivante: mes cours sont-ils corrects? Quelle instance dois-je appeler et comment puis-je obtenir cette sortie JSON?
Réponses:
Pour convertir votre
object
en JSON avec Jackson:la source
object
DOIT avoir des getters pour tous les champs, que vous voulez inclure dans votre JSON.Je sais que c'est vieux (et je suis nouveau sur java), mais j'ai rencontré le même problème. Et les réponses n'étaient pas aussi claires pour moi qu'un débutant ... alors j'ai pensé que j'ajouterais ce que j'avais appris.
J'ai utilisé une bibliothèque tierce pour m'aider dans cette entreprise:
org.codehaus.jackson
tous les téléchargements pour cela peuvent être trouvés ici .Pour la fonctionnalité JSON de base, vous devez ajouter les fichiers JAR suivants aux bibliothèques de votre projet: jackson-mapper-asl et jackson-core-asl
Choisissez la version dont votre projet a besoin. (En règle générale, vous pouvez utiliser la dernière version stable).
Une fois qu'ils sont importés dans les bibliothèques de votre projet, ajoutez les
import
lignes suivantes à votre code:Avec l'objet java défini et les valeurs attribuées que vous souhaitez convertir en JSON et renvoyer dans le cadre d'un service Web RESTful
Le résultat devrait ressembler à ceci:
{"firstName":"Sample","lastName":"User","email":"[email protected]"}
la source
Cela peut être utile:
la source
fais juste ça
la source
jackson
, pasGson
Vous pouvez faire ceci:
la source
Eh bien, même la réponse acceptée ne donne pas exactement ce que l'op a demandé. Il génère la chaîne JSON mais avec des
"
caractères échappés. Donc, même si c'est peut-être un peu tard, je réponds en espérant que cela aidera les gens! Voici comment je le fais:la source
Remarque: pour que la solution la plus votée fonctionne, les attributs du POJO doivent être
public
ou avoir un publicgetter
/setter
:Pas encore testé, mais je pense que cette règle s'applique également à d'autres bibliothèques JSON comme google Gson.
la source
la source
Vous pouvez utiliser Google Gson comme ça
la source