1、添加字符串和集合到json数组中
// 把字符串和list添加到jsonArray中
JSONArray jsonArrayValue = new JSONArray();
jsonArrayValue.add(0, isAdminUser);
jsonArrayValue.add(1,systems);
jsonArrayValue.add(2,authUrl);
jsonArrayValue.add(3,functions);
// 拼接json字符串
StringBuffer jsonStr = new StringBuffer();
jsonStr.append("{");
jsonStr.append("\""+loginName+"\":");
jsonStr.append(jsonArrayValue.toJSONString());
jsonStr.append(" }");
2、解析json数组(包括字符串和集合)
//获得json字符串
String jsonStr = InterfaceUtil.getFilterInfo(loginName);
// 字符串转化为JSON对象
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
// 通过key转化为json数组
JSONArray jsonArray = jsonObject.getJSONArray(loginName);
// 获得数组第一个值
// 是否是管理员
String isAdminUser = (String)jsonArray.get(0);
// 获得数组第二个值为list集合
JSONArray sysJsonArray = jsonArray.getJSONArray(1);
// 通过路径查找系统id
String systemId = "";
for(int i = 0; i < sysJsonArray.size(); i++){
JSONObject sysJsonObject = sysJsonArray.getJSONObject(i);
// 获得json object里面的属性值
String sysPath = sysJsonObject.getString("contexpath");
if(tempContextUrl.equals(sysPath)){
systemId = sysJsonObject.getString("id");
break;
}
}
3、导入的包
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;