String 转 json
时间: 2024-08-16 07:08:28 浏览: 46
在Java中,将字符串转换成JSON通常需要借助一些第三方库,例如`org.json`或者`com.fasterxml.jackson.core`提供的API。这里我们以`org.json`为例,假设你有一个简单的String形式的JSON:
```java
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
```
要将其转换为`JSONObject`,可以这样做:
```java
import org.json.JSONObject;
JSONObject jsonObject = new JSONObject(jsonString);
```
如果你想直接得到`HashMap`或`Map`,可以先将`JSONObject`转换为`Map`:
```java
import java.util.Map;
Map<String, Object> map = jsonObject.toMap();
```
如果你的原始字符串是一个键值对列表(例如:`"key1=value1,key2=value2"`),你可以使用`org.json.JSONArray`和`org.json.JSONObject`的辅助方法:
```java
String keyValuePairs = "key1=value1,key2=value2";
JSONArray jsonArray = new JSONArray(keyValuePairs.split(",")); // 分割字符串
for (int i = 0; i < jsonArray.length(); i++) {
String[] keyValue = jsonArray.getString(i).split("="); // 分割键值对
System.out.println("Key: " + keyValue + ", Value: " + keyValue);
}
```
同样地,这也可以转换为`Map`:
```java
Map<String, String> mapFromList = new HashMap<>();
for (Object item : jsonArray) {
String[] pair = ((JSONObject) item).getStringOpt("key").toString().split("=");
mapFromList.put(pair, pair);
}
```
阅读全文