如果您使用Gson,爲了解析您的響應,您可以創建一個表示您的JSON數據的自定義類,然後您可以使用Map
。
注意,一個Map<String, SomeObject>
是你的JSON代表什麼,因爲你有一個object
,包含一對string
和一些object
:
{ "someString": {...} }
因此,首先包含JSON數據的類(在僞-code):
class YourClass
String type
String status
String icon
int number
String display_number
使用Map
,這樣便解析您的JSON響應:
Gson gson = new Gson();
Type type = new TypeToken<Map<String, YourClass>>() {}.getType();
Map<String, YourClass> map = gson.fromJson(jsonString, type);
現在,您可以訪問使用所有的值的Map
,例如:
String GUID = map.keySet().get(0);
String type = map.get(GUID).getType();
注意:如果你只想要得到的GUID值,你並不需要創建一個類YourClass
,您可以使用相同的解析代碼,但在Map
中使用通用Object
,即Map<String, Object>
。
不確定我完全理解這個問題。根據JSONLint,JSON是有效的,所以你應該能夠將它解析爲JSON。 – Alan
同意。 但問題是隨機生成的GUID。 – DroidEngineer
我已經創建pojo反對它,但它不起作用,因爲每次在服務器端生成的GUID是不同的和獨特的。:) – DroidEngineer