2016-12-28 4 views
0

Ich habe überall gesucht und kann nicht herausfinden, wie das geht, ich bin super fest. Ich habe keine Erfahrung mit JSON-Dateien, daher wird die Löffelfütterung zusammen mit einer Erklärung geschätzt.Ein Wert von einem JsonArray mit Hilfe von Gson

Ich habe diesen JSON Text hier zum Testen:

{ 
     "id":"4566e69fc90748ee8d71d7ba5aa00d20", 
     "properties": 
        [ 
        { 
         "name":"textures", 
         "value":"eyJ0aW1lc3RhbXAiOjE0ODI4ODAxNDMwNzYsInByb2ZpbGVJZCI6IjQ1NjZlNjlmYzkwNzQ4ZWU4ZDcxZDdiYTVhYTAwZDIwIiwicHJvZmlsZU5hbWUiOiJUaGlua29mZGVhdGgiLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTNlODFiOWUxOWFiMWVmMTdhOTBjMGFhNGUxMDg1ZmMxM2NkNDdjZWQ1YTdhMWE0OTI4MDNiMzU2MWU0YTE1YiJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiOWM1ZWE3NjNjODZmYzVjYWVhMzNkODJiMGZhNjVhN2MyMjhmZDMyMWJhNTQ3NjZlYTk1YTNkMGI5NzkzIn19fQ==", 
        }, 
        ], 
     "name":"Thinkofdeath", 
    } 

Im Moment habe ich dies:

JsonElement playerProfile = new JsonParser().parse(jsonLine); 
    JsonObject jsonProfile = playerProfile.getAsJsonObject(); 
    JsonArray properties = jsonProfile.getAsJsonArray("properties"); 

Welche kehrt [

[ 
    { 
    "name":"textures", 
    "value":"eyJ0aW1lc3RhbXAiOjE0ODI4ODAxNDMwNzYsInByb2ZpbGVJZCI6IjQ1NjZlNjlmYzkwNzQ4ZWU4ZDcxZDdiYTVhYTAwZDIwIiwicHJvZmlsZU5hbWUiOiJUaGlua29mZGVhdGgiLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTNlODFiOWUxOWFiMWVmMTdhOTBjMGFhNGUxMDg1ZmMxM2NkNDdjZWQ1YTdhMWE0OTI4MDNiMzU2MWU0YTE1YiJ9LCJDQVBFIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiOWM1ZWE3NjNjODZmYzVjYWVhMzNkODJiMGZhNjVhN2MyMjhmZDMyMWJhNTQ3NjZlYTk1YTNkMGI5NzkzIn19fQ==", 
    }, 
] 

Natürlich. Wie bekomme ich den "Wert" von diesem JsonArray? Hinweis Ich verwende Google-API, Gson

+0

wie für mich, in der Regel Modell, das ich die jsons zu einem pojo - aber man konnte immer [bekommen es als JsonElement] (https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/JsonArray.java#L182) und dann [get as json object] (https: // github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/JsonElement.java#L86), schließlich [get ("value")] (https://github.com /google/gson/blob/master/gson/src/main/java/com/google/gson/JsonObject.java#L169), um 'Wert' als (leider) JsonElement zu erhalten. Es ist ziemlich umständlich, aber sicher, ich Ich schlage vor, Sie machen pojo. –

+0

Ich schätze Ihre Hilfe, Aber wie ich schon sagte, ich bin völlig neu in diesem JSON-Ding und brauche ein bisschen Löffelfütterung: P –

Antwort

3

können Sie erhalten values mit:

JsonObject propertiesJson = properties.get(0); 
String value = propertiesJson.getString("value"); 
+0

Aha! Es funktioniert, nur nicht, es ist nicht "getString" seine "get (" value "). ToString" –

+1

@SageM Wenn Sie Json-Bibliothek verwenden, als versuchen, ihre Methode für bessere Bequemlichkeit zu verwenden. get Wert wie: propertiesJson.get ("value"). getAsString(); – Darshit

Verwandte Themen