2011-07-18 32 views
13

Tôi có một chuỗi JSON trông như sau: {"altruism":1,"amazon":6}Parse JSON chuỗi Dictionary <String, Integer> với Gson

Những gì tôi muốn có là một HashMap<String, Integer> với hai mục sau đó.

Key: altruism Value: 1 
Key: amazon Value:6 

Tôi thực sự không thể tìm ra cách thực hiện việc này. Thông thường có các đối tượng được phân tích cú pháp từ các chuỗi JSON, nhưng đó không phải là trường hợp ở đây.

+1

Hãy rõ ràng rằng JSON không phải là Gson. JSON là một định dạng dữ liệu. Gson là một thư viện Java để đọc và viết JSON. –

Trả lời

18

Gson làm cho những gì bạn đang cố gắng làm tương đối dễ dàng. Sau đây là một ví dụ làm việc.

// input: {"altruism":1,"amazon":6} 
String jsonInput = "{\"altruism\":1,\"amazon\":6}"; 

Map<String, Integer> map = new Gson().fromJson(jsonInput, new TypeToken<HashMap<String, Integer>>() {}.getType()); 
System.out.println(map); // {altruism=1, amazon=6} 
System.out.println(map.getClass()); // class java.util.HashMap 
System.out.println(map.keySet().iterator().next().getClass()); // class java.lang.String 
System.out.println(map.get("altruism").getClass()); // class java.lang.Integer 
Các vấn đề liên quan