J'ai un json comme ça:
[
[
"Passport Number",
"NATIONALITY",
"REASONS"
],
[
"SHAIS100",
"INDIA",
""
],
[
"",
"",
"Agent ID is not matched."
],
[
"",
"",
""
]
]
Je veux renseigner ceci sur ArrayList<String[]>
, Dites-moi comment faire?
Et les chaînes vides ne doivent pas être converties en valeurs nulles.
C'est très simple, il vous suffit de faire ce qui suit:
1.- Créez d'abord l'objet Gson
:
Gson gson = new Gson();
2.- Ensuite, obtenez le correspondant Type
pour votre List<String[]>
(Notez que vous ne pouvez pas faire quelque chose comme List<String[]>.class
en raison de Java effacement de type ):
Type type = new TypeToken<List<String[]>>() {}.getType();
3.- Enfin analyser le JSON dans une structure de type type
:
List<String[]> yourList = gson.fromJson(yourJsonString, type);
Jetez un oeil à Gson docs
Gson gson = new Gson();
int[] ints = {1, 2, 3, 4, 5};
String[] strings = {"abc", "def", "ghi"};
(Serialization)
gson.toJson(ints); ==> prints [1,2,3,4,5]
gson.toJson(strings); ==> prints ["abc", "def", "ghi"]
(Deserialization)
int[] ints2 = gson.fromJson("[1,2,3,4,5]", int[].class);
==> ints2 will be same as ints
Cela est important pour vous: Nous prenons également en charge les tableaux multidimensionnels, avec des types d'éléments arbitrairement complexes
Pour les objets null
, Gson
par défaut ne sera pas converti en null. Ref. Mais vous pouvez configurer pour scanner ces nulls
attributs si vous voulez le faire après.
Le comportement par défaut implémenté dans Gson
est que les champs d'objet null sont ignorés. Cela permet un format de sortie plus compact; cependant, le client doit définir une valeur par défaut pour ces champs car le format JSON
est reconverti en Java.
Voici comment configurer une instance Gson
pour afficher null:
Gson gson = new GsonBuilder().serializeNulls().create();
Dans votre problème, vous n'avez peut-être pas besoin de configurer cela.
J'espère que ça aide.