如何将JSON转换为List实用指南与代码示例
在Java开发中,处理JSON数据并将其转换为特定类型的集合(如List
使用Gson库转换
Google的Gson库是处理JSON数据的流行选择之一,以下是使用Gson将JSON字符串转换为List
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class JsonToListString {
public static void main(String[] args) {
// 示例JSON字符串
String jsonString = "[\"apple\", \"banana\", \"orange\", \"grape\"]";
// 创建Gson实例
Gson gson = new Gson();
// 定义List<String>的类型
Type listType = new TypeToken<List<String>>() {}.getType();
// 转换JSON字符串为List<String>
List<String> fruitList = gson.fromJson(jsonString, listType);
// 输出结果
System.out.println(fruitList); // 输出: [apple, banana, orange, grape]
}
}
关键点:
- 使用
TypeToken来指定目标类型为List<String> gson.fromJson()方法接受JSON字符串和目标类型作为参数
使用Jackson库转换
Jackson是另一个广泛使用的JSON处理库,转换方式如下:
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
public class JsonToListStringJackson {
public static void main(String[] args) throws Exception {
// 示例JSON字符串
String jsonString = "[\"apple\", \"banana\", \"orange\", \"grape\"]";
// 创建ObjectMapper实例
ObjectMapper objectMapper = new ObjectMapper();
// 转换JSON字符串为List<String>
List<String> fruitList = objectMapper.readValue(jsonString, new TypeReference<List<String>>() {});
// 输出结果
System.out.println(fruitList); // 输出: [apple, banana, orange, grape]
}
}
关键点:
- 使用
TypeReference来指定泛型类型 objectMapper.readValue()方法执行转换
使用org.json库转换
轻量级的org.json库也提供了简单的转换方法:
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.List;
public class JsonToListStringOrgJson {
public static void main(String[] args) {
// 示例JSON字符串
String jsonString = "[\"apple\", \"banana\", \"orange\", \"grape\"]";
// 将JSON字符串转换为JSONArray
JSONArray jsonArray = new JSONArray(jsonString);
// 创建List<String>并填充数据
List<String> fruitList = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
fruitList.add(jsonArray.getString(i));
}
// 输出结果
System.out.println(fruitList); // 输出: [apple, banana, orange, grape]
}
}
关键点:
- 先将JSON字符串转换为
JSONArray对象 - 然后遍历
JSONArray,逐个添加到List<String>中
处理复杂JSON场景
当JSON结构更复杂时(如嵌套对象或数组),需要先提取字符串数组部分:
// 使用Gson处理复杂JSON
String complexJson = "{\"fruits\":[\"apple\", \"banana\", \"orange\"], \"vegetables\":[\"carrot\", \"broccoli\"]}";
Gson gson = new Gson();
Type listType = new TypeToken<List<String>>() {}.getType();
List<String> fruits = gson.fromJson(gson.fromJson(complexJson, JsonObject.class).get("fruits"), listType);
注意事项
- JSON格式验证:确保输入的JSON字符串格式正确,否则会抛出异常
- 空值处理:考虑JSON中可能包含null值的情况
- 性能考虑:对于大量数据,选择性能合适的库(Jackson通常性能较好)
- 异常处理:添加适当的try-catch块处理可能的异常
将JSON转换为List
抖音足球直播
抖音足球直播
企鹅直播
企鹅直播
足球直播
爱奇艺直播
爱奇艺足球直播
足球直播
足球直播
iqiyi直播
足球直播
足球直播
QQ足球直播
QQ足球直播
足球直播
足球直播
QQ足球直播
QQ足球直播
足球直播
足球直播
快连
快连
快连
快连下载
快连
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
新浪足球直播
新浪足球直播
足球直播
足球直播
有道翻译
有道翻译
有道翻译
有道翻译
wps
wps
wps
wps
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
新浪足球直播
新浪足球直播
足球直播
足球直播



还没有评论,来说两句吧...