JSONをGSONで解析しようとしていますが、コツをつかんでいると思います。私が抱えている問題は、オブジェクト名の後で解析が停止するように見えることです。
public static void main(String[] args) throws Exception {
Gson gson=new Gson();
String json = "{\"k1\":\"v1\",\"k2\":\"v2\"}";
Map<String,String> map=new HashMap<String,String>();
map=(Map<String,String>) gson.fromJson(json, map.getClass());
System.out.println(map.keySet());
}
正常に動作し、出力します:
[k1、k2]
そして、これらのキーを使用して、私がやりたいことである値をうまく取得できます。
json.org のこの 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"
}
}
}
}
}
私が得る唯一の出力は
【用語集】
明らかに欠けているものがあるような気がします。誰かが私を正しい方向に向けるのを手伝ってもらえますか?
ありがとうございました。