android json转map
时间: 2023-09-20 21:07:33 浏览: 43
可以使用 `Gson` 库来将 `JSON` 字符串转换成 `Map` 对象。具体实现步骤如下:
1. 添加 `Gson` 库的依赖,可以在 `build.gradle` 文件中添加以下依赖:
```
implementation 'com.google.code.gson:gson:2.8.6'
```
2. 定义 `JSON` 字符串:
```
String jsonString = "{ \"name\": \"张三\", \"age\": 18 }";
```
3. 使用 `Gson` 将 `JSON` 字符串转换成 `Map` 对象:
```
Gson gson = new Gson();
Type type = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> map = gson.fromJson(jsonString, type);
```
这里使用了 `TypeToken` 类型令牌来指定 `Map` 对象的泛型类型。
4. 使用 `Map` 对象获取 `JSON` 中的值:
```
String name = (String) map.get("name");
int age = ((Double) map.get("age")).intValue();
```
完整的代码示例:
```
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.Map;
public class JsonToMapDemo {
public static void main(String[] args) {
String jsonString = "{ \"name\": \"张三\", \"age\": 18 }";
Gson gson = new Gson();
Type type = new TypeToken<Map<String, Object>>(){}.getType();
Map<String, Object> map = gson.fromJson(jsonString, type);
String name = (String) map.get("name");
int age = ((Double) map.get("age")).intValue();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
```