list和array、json互转

java下,使List和Array、json互相转换。

// List转换为Array:
ArrayList<String> list=new ArrayList<String>();
String[] strings = list.toArray(new String[list.size()]);
// 将Array转成List:
String[] s = {"a","b","c"};  // 注意int[]数组不行,要Integer[]数组
List list = new ArrayList<>(Arrays.asList(s));
或者
String[] userid = {"aa","bb","cc"};
List<String> userList = new ArrayList<String>();
Collections.addAll(userList, userid);
// 切记:字符串转为json时,会自动把一些没用的空格去掉
// List转换为json:
JSONArray json = JSONArray.fromObject(list);
// json转List
JSONArray jsonArray = JSONArray.fromObject(json);
List<String> list2 = (List) JSONArray.toCollection(jsonArray);
Java中,有多种方法可以实现ListJSON之间的相互转换,以下是一些常见的实现方式: ### 使用阿里的FastJSON库 ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.List; class CustPhone {} class Person {} public class FastJSONExample { public static void main(String[] args) { // List换为JSON List<CustPhone> list = new ArrayList<>(); String str = JSON.toJSON(list).toString(); // JSON换为List String jasonArray = "[{...}]"; // 假设这是一个JSON数组字符串 List<Person> personList = JSONObject.parseArray(jasonArray, Person.class); } } ``` 这种方式通过`JSON.toJSON(list).toString()`将List换为JSON字符串,通过`JSONObject.parseArray(jasonArray, Person.class)`将JSON字符串换为List,适用于自定义对象的List换 [^1]。 ### 使用net.sf.json库 ```java import net.sf.json.JSONArray; import java.util.ArrayList; import java.util.List; public class NetSfJSONExample { public static void main(String[] args) { // List换为JSON List<String> list = new ArrayList<>(); list.add("abc"); list.add("123"); String json = JSONArray.fromObject(list).toString(); // JSON换为List JSONArray jsonArray = JSONArray.fromObject(json); List<String> list2 = (List) JSONArray.toCollection(jsonArray); } } ``` 该方法使用`JSONArray.fromObject(list).toString()`将List换为JSON字符串,使用`JSONArray.toCollection(jsonArray)`将JSON数组换为List,常用于简单类型(如String)的List换 [^2][^5]。 ### FastJSON的其他换场景 ```java import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.List; class EventColAttr {} public class FastJSONOtherExample { public static void main(String[] args) { // JSONArray换为List JSONArray array = new JSONArray(); List<EventColAttr> eventList = JSONObject.parseArray(array.toJSONString(), EventColAttr.class); // List换为JSONArray List<EventColAttr> list = new ArrayList<>(); JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(list)); // String换为JSONArray String str = "[{name:zhangsan,age:11,sex:male},{name:lisi,age:22,sex:male},{name:wangwu,age:33,sex:female}]"; JSONArray tableData = JSONArray.parseArray(str); } } ``` 此示例展示了FastJSONJSONArrayListString之间的相互转换,包括JSONArrayListListJSONArrayStringJSONArray的方法 [^3]。 ### JSONArrayList<String> ```java import com.alibaba.fastjson.JSONArray; import java.util.List; public class JSONArrayToListStringExample { public static void main(String[] args) { String projects = "[\"java\",\"python\",\"C++\"]"; List<String> list = JSONArray.parseArray(projects, String.class); } } ``` 该代码利用`JSONArray.parseArray(projects, String.class)`将JSON字符串换为List<String> [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值