json array 转为 list/set 的两种方式

一,采用jackson 

jackson spring mvc 默认集成


    private static HashSet<String> getPermissionSet(String permsStr) {
        ObjectMapper mapper = new ObjectMapper();
        try {
            HashSet<String> lst =  (HashSet<String>) mapper.readValue(permsStr, HashSet.class);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        return perms;
    }
 

二,采用 org.json 包

需要在 pom.xml 中导入包
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20180813</version>
        </dependency>


    private static HashSet<String> getPermissionSet(String permsStr) {

        HashSet<String> perms = new HashSet<String>();
        try {
            JSONArray ja = new JSONArray(permsStr);
            int len = ja.length();
            for (int i = 0; i < len; i ++) {
                String singlePerm = ja.getString(i);
                perms.add(singlePerm);
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        
        return perms;
    }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将一个 List 换成 JSON 格式,可以使用 JSON 库,例如 Google 的 Gson 库。 首先,需要将 List 换成 Java 对象的数组,然后再将数组换成 JSON 字符串。 以下是示例代码: ```java import com.google.gson.Gson; import java.util.ArrayList; import java.util.List; public class Demo { public static void main(String[] args) { // 创建一个 List 对象 List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("orange"); // 将 List 换成 Java 对象的数组 String[] array = list.toArray(new String[list.size()]); // 将数组换成 JSON 字符串 Gson gson = new Gson(); String json = gson.toJson(array); // 打印 JSON 字符串 System.out.println(json); } } ``` 输出结果为: ``` ["apple","banana","orange"] ``` 注意,此处将 List 换成了数组,而不是直接将 List 换成 JSON 字符串。如果你希望直接将 List 换成 JSON 字符串,可以使用以下代码: ```java String json = gson.toJson(list); ``` 但是需要注意的是,这种方法会将 List 换成 JSON 数组,而不是一个 JSON 对象。如果你希望得到一个 JSON 对象,可以将 List 换成一个包含一个属性的 Java 对象,例如: ```java class MyObject { private List<String> list; public MyObject(List<String> list) { this.list = list; } public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; } } // ... MyObject obj = new MyObject(list); String json = gson.toJson(obj); ``` 这样就可以得到一个包含一个属性的 JSON 对象: ``` {"list":["apple","banana","orange"]} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zonson9999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值