android json转map
时间: 2023-09-20 16:07:33 浏览: 45
在 Android 中,可以通过使用 `JSONObject` 类将 JSON 字符串转换为 Map。以下是一个示例:
```java
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
try {
JSONObject jsonObject = new JSONObject(jsonString);
Map<String, String> map = jsonToMap(jsonObject);
// 使用 map
String name = map.get("name");
String age = map.get("age");
String city = map.get("city");
} catch (JSONException e) {
e.printStackTrace();
}
}
public Map<String, String> jsonToMap(JSONObject json) throws JSONException {
Map<String, String> map = new HashMap<>();
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
String value = json.getString(key);
map.put(key, value);
}
return map;
}
}
```
在上面的示例中,我们首先将 JSON 字符串 `"{"name":"John","age":30,"city":"New York"}"` 转换为 `JSONObject` 对象,并将其传递给 `jsonToMap` 方法。然后,我们定义了一个 `jsonToMap` 方法,该方法将 `JSONObject` 转换为 `Map`。在 `jsonToMap` 方法中,我们首先创建了一个空的 `HashMap`,然后使用 `keys` 迭代器遍历 `JSONObject` 中的所有键,并将键和对应的值添加到 `HashMap` 中。最后,我们返回这个 `HashMap` 对象。