java 字符串转成 json
时间: 2024-08-28 12:00:22 浏览: 41
Java中JSON字符串与java对象的互换实例详解
在Java中,将字符串转换为JSON通常需要借助于第三方库,比如`org.json`或`com.fasterxml.jackson.core`. 这里我们以`org.json`为例,假设你有一个简单的字符串,它代表了一个JSON对象或数组,你可以这样做:
```java
import org.json.JSONObject;
import org.json.JSONArray;
// 假设你有一个字符串 str,例如
String str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 转换为JSONObject(如果是一个对象)
JSONObject jsonObject = new JSONObject(str);
System.out.println(jsonObject.toString());
// 转换为JSONArray(如果是一个数组)
JSONArray jsonArray = new JSONArray(str);
System.out.println(jsonArray.toString());
```
如果你不确定字符串的具体格式,可以先尝试转换,然后捕获可能出现的异常,如`JSONException`。
注意,如果你使用的是`com.fasterxml.jackson.core`库(Jackson),你可以这么做:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
ObjectMapper mapper = new ObjectMapper();
try {
// 对象
Map<String, Object> jsonObject = mapper.readValue(jsonString,新的Type());
System.out.println(jsonObject);
// 数组
List<Object> jsonArray = mapper.readValue(jsonString,新的ListType());
System.out.println(jsonArray);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
```
这里的`新的Type()`和`新的ListType()`应该是对应的数据类型,例如`Map<String, String>`或`List<Map<String, String>>`等。
阅读全文