我想解析與GSON的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對象從json.org所
{
"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"
}
}
}
}
}
我得到的唯一的輸出是
[名詞解釋]
我覺得有一些明顯的我我錯過了,有人能幫助我指出正確的方向嗎?
謝謝。
第二JSON對象是相當複雜的。你期待什麼輸出? – kuporific
你的第二個對象只有一個鍵('glossary')和一個該鍵的值(該對象包含所有其他的東西)。 –
我想要做的是在不知道密鑰名稱的情況下獲取值。因此,使用上面的第二個json示例,我希望能夠做到這樣*僞代碼* 我想我可以按每個級別分解該JSON對象,程序化地顯示標題的值,然後ID等一些循環。 (int i = 0; i
user2229544