Assurez-vous que votre chaîne JSon d'origine contient le format correct. Le meilleur moyen est de sérialiser votre objet avec GSON. Voici le code:
public static void main(String[] args)
{
Gson gson = new Gson();
SettingsAttribs st = new SettingsAttribs();
st.setField1("value1");
st.setField2("value2");
// report constructed object
System.out.println("st: " + st);
// serialize to json
String json = gson.toJson(st, SettingsAttribs.class);
System.out.println("json: " + json);
// deserialize form json
SettingsAttribs restoredSettings = gson.fromJson(json, SettingsAttribs.class);
System.out.println("restoredSettings: " + restoredSettings);
}
Il compile et s'exécute. La sortie qu'elle produit:
st: SettingsAttribs [field1=value1, field2=value2]
json: {"field1":"value1","field2":"value2"}
restoredSettings: SettingsAttribs [field1=value1, field2=value2]
Et classe SettingsAttribs:
public class SettingsAttribs
{
private String field1;
private String field2;
public String getField1()
{
return field1;
}
public void setField1(String field1)
{
this.field1 = field1;
}
public String getField2()
{
return field2;
}
public void setField2(String field2)
{
this.field2 = field2;
}
@Override
public String toString()
{
return "SettingsAttribs [field1=" + field1 + ", field2=" + field2 + "]";
}
}
Quelle est votre SettingsAttribs source de la classe? – user1697575
il est fondamentalement juste la classe de modèle avec quelques champs de chaîne et ses méthodes de get/set ... – greengold