String to JSONObject with a delimiter

Convert a=1&b=2&c=3 message into JSONObject of hutool
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;

import java.util.Arrays;
import java.util.Map;

public static JSONObject stringToJsonObj(String str){
        String[] strings = str.trim().split("&");
        //注意split方法,如果s为【key=】,value为null时,s.split("=")方法会造成toMap报超下标的异常
        Map<String, String> stringMap = Arrays.asList(strings).stream()
                .map(s -> s.split("=",2))
                .collect(Collectors.toMap(strings1 -> strings1[0], strings1 -> strings1[1]));

        JSONObject resJson = JSONUtil.parseObj(stringMap);
        return resJson;
    }

Guess you like

Origin blog.csdn.net/xieedeni/article/details/122981789