2013-06-11 32 views

回答

0

示例代碼給你解析標記流

這就是所謂的與初始令牌,

的nextToken(T)檢索從流的下一個標記的想法。

parseJsonElement遞歸處理樹性質。

public Object parseJsonElement(Token t){ 
    if (t.isArrayStart()){ 
     // is an array so create list and put child elements into list 
     List list = new List(); 
     t = nextToken(t); 
     while (!t.isArrayEnd()){ 
      list.add(parseJsonElement(t)); 
     } 
     return list; 
    }else if (t.isObjectStart()){ 
     // is an object so return parsed object 
     return parseJsonElement(t); 
    }else // handle something else 
} 
0

假設你正在使用Gson解析您的JSON,構建一個JsonParser。其parse方法的返回類型爲JsonElement。正如你通過閱讀類的方法列表所看到的,它有方法告訴你它是一個Object,Array還是其他類。然後,您可以將對象放入適當的子類(JsonObjectJsonArray,無論)中,還是使用提供的便捷方法爲您執行此操作。

從那裏,你可以檢查對象或數組,並獲取屬性,元素,原始值等。這些也將作爲JsonElement出現。

0

如果您使用的是JSONLib或Gson,那麼這兩個庫都有一個名爲JsonElement的抽象類。如果它是JsonObject或JsonArray(#isJsonArray()#isJsonObject()方法),那麼該類有能力回答您。然後,您可以正確投射它。

相關問題