2017-09-27 4 views
-2

私はこのjsonを下に持っています。私は "SMGL"である "ID"の値を取得する必要があります。 私はGsonを使ってファイルからjsonを保存しています。これをどうすれば検索できますか?Jsonファイル内で値を検索する方法

{ 
    "glossary": { 
     "title": "example glossary", 
     "GlossDiv": { 
      "title": "S", 
      "GlossList": { 
       "GlossEntry": { 
        "ID": "SGML", 
        "SortAs": "SGML", 
        "GlossTerm": "Standard Generalized Markup Language", 
        "Acronym": "SGML", 
        "Abbrev": "ISO 8879:1986", 
        "GlossDef": { 
         "para": "A meta-markup language, used to create markup languages such as DocBook.", 
         "GlossSeeAlso": ["GML", "XML"] 
        }, 
        "GlossSee": "markup" 
       } 
      } 
     } 
    } 
} 
+0

いずれか試してみてください... ....... – gifpif

+0

なぜGsonを使用しますか? –

答えて

1

方法ObjectMapper

final String json = "{\"yourjson\": \"here\", \"andHere\": ... }"; 
final ObjectNode node = new ObjectMapper().readValue(json, ObjectNode.class); 

if (node.has("ID")) { 
    System.out.println("ID: " + node.get("ID")); 
} 

これは、多くの方法の一つである使用について:

String json = "your json here" // you can also read from file etc 
    Gson gson = new GsonBuilder().create(); 
    Map jsonMap = gson.fromJson(json, Map.class); 
    System.out.println(jsonMap.get("ID")); 

以上を探検、

がGSON のための追加。

おかげ

+1

あなたが提供したGson exmpleを使用しました。 –

1

あなたはJSONPath異常なJavaライブラリ試みることができます。

表現はJQuery配列のアクセスのように非常に簡単です。

String expression = "$.glossary.GlossDiv.GlossList.GlossEntry.ID" 

String result = JsonPath.read(json_input, expression); 
関連する問題