Gson, JSON et les subtilités de LinkedTreeMap

J'ai récemment commencé à jouer avec les JSON cordes, et a dit que Google est propre bibliothèque, Gson, est la nouvelle et de la hanche façon de composer avec ces.

La façon dont je l'ai compris, c'est qu'un JSON chaîne est essentiellement une carte. Où chaque variable de points de valeur dans la chaîne.

Par exemple:

String jsonInput2 = "{\"created_at\":\"Sat Feb 08 15:37:37 +0000 2014\",\"id\":432176397474623489\"}

Jusqu'ici, tout va bien. Des informations telles que lorsque cette JSON chaîne a été créé, peut être affectée à une variable avec le code suivant:

Gson gson = new Gson();

Map<String, String> map = new HashMap<String, String>();

map = (Map<String, String>) gson.fromJson(jsonInput, map.getClass());

String createdAt = map.get("created_at");

C'est presque artistique dans la beauté simple. Mais c'est là où la beauté se termine et ma confusion commence.

Le suivant est une extension de la ci-dessus JSON chaîne;

String jsonInput2 = "{\"created_at\":\"Sat Feb 08 15:37:37 +0000 2014\",\"id\":432176397474623489\",\"user\":{\"id_str\":\"366301747\",\"name\":\"somethingClever\",\"screen_name\":\"somethingCoolAndClever\"}}";

Ma question est de savoir comment ces "parenthèses dans les parenthèses" de travail pour le user section de la JSON?

Comment ai-je pu affecter les valeurs spécifiées dans ces intérieurs de supports à des variables?

Quelqu'un peut-il m'expliquer ou me montrer dans le code, comment Gson poignées des trucs comme ça, et comment je peux l'utiliser?

En bref, pourquoi ne...

String jsonInput = "{\"created_at\":\"Sat Feb 08 15:37:37 +0000 2014\",\"id\":432176397474623489\",\"user\":{\"id_str\":\"366301747\",\"name\":\"somethingClever\",\"screen_name\":\"somethingCoolAndClever\"}}";

Gson gson = new Gson();

Map<String, String> map = new HashMap<String, String>();

map = (Map<String, String>) gson.fromJson(jsonInput, map.getClass());

String name = map.get("name");

System.out.println(name);

... imprimer null?

OriginalL'auteur ViRALiC | 2014-03-09