简体   繁体   English

使用 gson 从 JsonArray 获取值

[英]Getting a Value from a JsonArray using gson

I have searched everywhere and cannot find out how to do this, I'm super stuck.我到处搜索,但找不到如何做到这一点,我被困住了。 I have NO experience with JSON files, so spoon feeding is appreciated along with an explanation.我没有使用 JSON 文件的经验,因此对勺子喂食和解释表示赞赏。

I have this JSON text here for testing:我在这里有这个 JSON 文本用于测试:

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

I currently have this:我目前有这个:

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

Which returns [哪个返回 [

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

Of course.当然。 How do I get the "value" from this JsonArray?我如何从这个 JsonArray 中获取“值”? Note I'm using Google's API, Gson注意我使用的是 Google 的 API,Gson

You can get values using: 您可以使用以下方式获取values

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

array is JsonArray object from com.google.gson library数组是来自 com.google.gson 库的 JsonArray 对象

for (int i=0; i<array.size(); i++) {
    JsonObject json = array.get(i).getAsJsonObject();
    String value = json.get("key").getAsString();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM