用alibaba的包吧返回的String转成json和map、list

343 阅读1分钟
//访问接口返回的结果
String returnjson = ApiUtils.getErpInterface(jsonStr,"createAdvletterByVSS");

//通过alibaba的JSON转成map取值
JSONObject jsonObject1 = JSON.parseObject(returnjson);
Map<String, String> rtnMap = (Map)JSON.parse(jsonObject1.toString());
TypeReference的用法: 字符串listmap转化为相应的JSONObject对象,“键值对”形式,然后通过new TypeReference<List<Map<String, Object>>(){ }匿名内部类来吧listmap的JSONObject转化为list对象,


public String sendAll(String listmap, int productQty, int qualitynum, int Remainder) {
        List<Map<String, Object>> list = JSONObject.parseObject(listmap, new TypeReference<List<Map<String, Object>>>(){});

}


       // json 转对象
        Usertest usertest = new Usertest("testJson", 2);
        String stringJson = JSON.toJSONString(usertest);
        Usertest usertestReturn = JSONObject.parseObject(stringJson, Usertest.class);
        System.out.println("【json 转对象】:"+usertestReturn);

        //json转list
        List<Usertest> userList = Arrays.asList(new Usertest("张三", 1),
            new Usertest("李四", 2),
            new Usertest("王五", 3));
        String stringList = JSON.toJSONString(userList);
        List<String> stringListReturn= JSONArray.parseArray(stringList, String.class);
        System.out.println("【json转list】:"+stringListReturn);

        //转map
        Map<Integer, String> map = userList.stream().collect(Collectors.toMap(Usertest::getTestAge,Usertest::getTestName));
        String stringMap = JSON.toJSONString(map);
        Map<Integer, String> mapReturn = (Map)JSON.parse(stringMap);
        System.out.println("【转map】:"+mapReturn);
        System.out.println(mapReturn.get(1));