@Override public JSONObject getJSONObject(int index) { return new FastJSONObject(jsonArray.getJSONObject(index)); }
@Override public JSONObject getJSONObject(int index) { return new FastJSONObject(jsonArray.getJSONObject(index)); }
protected JobDataMap createJobDataMap(String parameters) { JobDataMap map = new JobDataMap(); if (!StringUtils.isEmpty(parameters)) { JSONArray jsonArray = JSON.parseArray(parameters); for (int i = 0; i < jsonArray.size(); i++) { JSONObject o = jsonArray.getJSONObject(i); map.put(o.getString("key"), o.get("value")); } } return map; }
protected Set<Correlation> buildCorrelations(String correlations) { if (StringUtils.isEmpty(correlations)) { return new LinkedHashSet<>(); } JSONArray correlationsConfig = JSON.parseArray(correlations); Set<Correlation> correlations1 = new LinkedHashSet<>(); for (int i = 0; i < correlationsConfig.size(); i++) { JSONObject single = correlationsConfig.getJSONObject(i); String target = single.getString("target"); String alias = single.getString("alias"); String condition = single.getString("condition"); Objects.requireNonNull(target); Objects.requireNonNull(condition); Correlation correlation = new Correlation(target, alias, condition); correlation.setJoin(Correlation.JOIN.valueOf(String.valueOf(single.getOrDefault("join", "LEFT")).toUpperCase())); JSONObject properties = single.getJSONObject("properties"); if (properties != null) { properties.forEach(correlation::setProperty); } correlations1.add(correlation); } return correlations1; }
protected Map<String, Trigger> buildTrigger(String config) { if (StringUtils.isEmpty(config)) { return new HashMap<>(); } JSONArray triggerConfig = JSON.parseArray(config); Map<String, Trigger> triggers = new HashMap<>(); for (int i = 0; i < triggerConfig.size(); i++) { JSONObject single = triggerConfig.getJSONObject(i); String trigger = single.getString("trigger"); String language = single.getString("language"); String script = single.getString("script"); String scriptId = DigestUtils.md5Hex(script); try { DynamicScriptEngine engine = DynamicScriptEngineFactory.getEngine(language); if (engine == null) { throw new UnsupportedOperationException("not support script language : " + language); } if (!engine.compiled(scriptId)) { engine.compile(scriptId, script); } Trigger singleTrigger = new ScriptTraggerSupport(engine, scriptId); triggers.put(trigger, singleTrigger); } catch (Exception e) { throw new BusinessException("compile script error :" + e.getMessage(), e); } } return triggers; }
@NonNull @Override public List<BaseCell> parseComponent(@Nullable JSONArray data, Card parent, ServiceManager serviceManager, Map<String, ComponentInfo> componentInfoMap) { if (data == null) { return new ArrayList<>(); } final int size = data.size(); final List<BaseCell> result = new ArrayList<>(size); //parse body final int cellLength = data.size(); for (int i = 0; i < cellLength; i++) { final JSONObject cellData = data.getJSONObject(i); BaseCell cell = parseSingleComponent(cellData, parent, serviceManager, componentInfoMap); if (cell != null) { result.add(cell); } } return result; }
JSONArray contactList = obj.getJSONArray("ContactList"); for (int i = 0; i < contactList.size(); i++) { // 群好友 if (contactList.getJSONObject(i).getString("UserName").indexOf("@@") > -1) { // 群 core.getGroupNickNameList().add(contactList.getJSONObject(i).getString("NickName")); // 更新群昵称列表 core.getGroupList().add(contactList.getJSONObject(i)); // 更新群信息(所有)列表 core.getGroupMemeberMap().put(contactList.getJSONObject(i).getString("UserName"), contactList.getJSONObject(i).getJSONArray("MemberList")); // 更新群成员Map
@Override public AuthenticationBuilder permission(String permissionJson) { JSONArray jsonArray = JSON.parseArray(permissionJson); List<Permission> permissions = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); SimplePermission permission = new SimplePermission(); permission.setId(jsonObject.getString("id")); permission.setName(jsonObject.getString("name")); JSONArray actions = jsonObject.getJSONArray("actions"); if (actions != null) { permission.setActions(new HashSet<>(actions.toJavaList(String.class))); } JSONArray dataAccess = jsonObject.getJSONArray("dataAccesses"); if (null != dataAccess) { permission.setDataAccesses(dataAccess.stream().map(JSONObject.class::cast) .map(dataJson -> dataBuilderFactory.create().fromJson(dataJson.toJSONString()).build()) .filter(Objects::nonNull) .collect(Collectors.toSet())); } permissions.add(permission); } authentication.setPermissions(permissions); return this; }
/** * 初始化视频信息 */ private void initVideo(Video video, JSONObject json) { JSONObject videoJson = json.getJSONObject("vl").getJSONArray("vi").getJSONObject(0); int random = RandomUtils.nextInt(3); String url = videoJson.getJSONObject("ul").getJSONArray("ui").getJSONObject(random).getString("url"); String vkey = videoJson.getString("fvkey"); String fn = videoJson.getString("fn"); String file = fn.replace("mp4", "1.mp4"); String title = videoJson.getString("ti"); String firstPlayUrl = playUrl(url, file, vkey); String size = videoJson.getJSONObject("cl").getString("fc"); video.setPlayUrl(firstPlayUrl); video.setImage(""); video.setTitle(title); video.setType("qq"); video.setOther(size); }
final List<Card> result = new ArrayList<>(size); for (int i = 0; i < size; i++) { JSONObject cardData = data.getJSONObject(i); final Card card = parseSingleGroup(cardData, serviceManager); if (card instanceof IDelegateCard) {
/** * 拉取消息 * * @param callback 获取消息后的回调 */ private void pollMessage(MessageCallback callback) { LOGGER.debug("开始接收消息"); JSONObject r = new JSONObject(); r.put("ptwebqq", ptwebqq); r.put("clientid", Client_ID); r.put("psessionid", psessionid); r.put("key", ""); Response<String> response = post(ApiURL.POLL_MESSAGE, r); JSONArray array = getJsonArrayResult(response); for (int i = 0; array != null && i < array.size(); i++) { JSONObject message = array.getJSONObject(i); String type = message.getString("poll_type"); if ("message".equals(type)) { callback.onMessage(new Message(message.getJSONObject("value"))); } else if ("group_message".equals(type)) { callback.onGroupMessage(new GroupMessage(message.getJSONObject("value"))); } else if ("discu_message".equals(type)) { callback.onDiscussMessage(new DiscussMessage(message.getJSONObject("value"))); } } }
/** * 获得好友列表(包含分组信息) * * @return */ public List<Category> getFriendListWithCategory() { LOGGER.debug("开始获取好友列表"); JSONObject r = new JSONObject(); r.put("vfwebqq", vfwebqq); r.put("hash", hash()); Response<String> response = post(ApiURL.GET_FRIEND_LIST, r); JSONObject result = getJsonObjectResult(response); //获得好友信息 Map<Long, Friend> friendMap = parseFriendMap(result); //获得分组 JSONArray categories = result.getJSONArray("categories"); Map<Integer, Category> categoryMap = new HashMap<>(); categoryMap.put(0, Category.defaultCategory()); for (int i = 0; categories != null && i < categories.size(); i++) { Category category = categories.getObject(i, Category.class); categoryMap.put(category.getIndex(), category); } JSONArray friends = result.getJSONArray("friends"); for (int i = 0; friends != null && i < friends.size(); i++) { JSONObject item = friends.getJSONObject(i); Friend friend = friendMap.get(item.getLongValue("uin")); categoryMap.get(item.getIntValue("categories")).addFriend(friend); } return new ArrayList<>(categoryMap.values()); }
protected Map<String, ComponentInfo> parseComponentInfo(JSONObject cardJson) { if (cardJson == null || !cardJson.containsKey(COMPONENTINFO)) { return null; } JSONArray componentInfoArray = cardJson.getJSONArray(COMPONENTINFO); if (componentInfoArray == null) { return null; } Map<String, ComponentInfo> componentInfoMap = new HashMap<>(128); for (int i = 0; i < componentInfoArray.size(); i++) { JSONObject json = componentInfoArray.getJSONObject(i); ComponentInfo info = new ComponentInfo(json); mvHelper.renderManager().putComponentInfo(info); componentInfoMap.put(info.getId(), info); } return componentInfoMap; }
@Override public List<Episode> parseEpisodes(String videoUrl) { List<Episode> episodes = new ArrayList<>(); Document document = JsoupUtils.getDocWithPhone(videoUrl); Matcher matcher = Pattern.compile("([0-9]{5,})\\.html").matcher(document.html()); if (matcher.find()) { String vid = matcher.group(1); String videosAPI = String.format(LETV_VIDEOS, vid); String data = JsoupUtils.getDocWithPhone(videosAPI).body().text(); JSONObject jsonObject = JSONObject.parseObject(data); JSONArray array = jsonObject.getJSONObject("data").getJSONObject("episode").getJSONArray("videolist"); if (array.size() > 1) { for (int i = array.size() - 1; i >= 0; i--) { JSONObject object = array.getJSONObject(i); Episode episode = new Episode(); Integer index = object.getInteger("episode"); if (index < 10) { episode.setIndex("0" + index); } else { episode.setIndex("" + index); } episode.setValue(object.getString("url")); episodes.add(episode); } } } return episodes; }
private static Map<Long, Friend> parseFriendMap(JSONObject result) { Map<Long, Friend> friendMap = new HashMap<>(); JSONArray info = result.getJSONArray("info"); for (int i = 0; info != null && i < info.size(); i++) { JSONObject item = info.getJSONObject(i); Friend friend = new Friend(); friend.setUserId(item.getLongValue("uin")); friend.setNickname(item.getString("nick")); friendMap.put(friend.getUserId(), friend); } JSONArray marknames = result.getJSONArray("marknames"); for (int i = 0; marknames != null && i < marknames.size(); i++) { JSONObject item = marknames.getJSONObject(i); friendMap.get(item.getLongValue("uin")).setMarkname(item.getString("markname")); } JSONArray vipinfo = result.getJSONArray("vipinfo"); for (int i = 0; vipinfo != null && i < vipinfo.size(); i++) { JSONObject item = vipinfo.getJSONObject(i); Friend friend = friendMap.get(item.getLongValue("u")); friend.setVip(item.getIntValue("is_vip") == 1); friend.setVipLevel(item.getIntValue("vip_level")); } return friendMap; }
@Override public int rolePermission(JSONArray datas, int id) { List<Integer> deleteIds = new ArrayList<>(); for (int i = 0; i < datas.size(); i ++) { JSONObject json = datas.getJSONObject(i); if (!json.getBoolean("checked")) { deleteIds.add(json.getIntValue("id")); } else { // 新增权限 UpmsRolePermission upmsRolePermission = new UpmsRolePermission(); upmsRolePermission.setRoleId(id); upmsRolePermission.setPermissionId(json.getIntValue("id")); upmsRolePermissionMapper.insertSelective(upmsRolePermission); } } // 删除权限 if (deleteIds.size() > 0) { UpmsRolePermissionExample upmsRolePermissionExample = new UpmsRolePermissionExample(); upmsRolePermissionExample.createCriteria() .andPermissionIdIn(deleteIds) .andRoleIdEqualTo(id); upmsRolePermissionMapper.deleteByExample(upmsRolePermissionExample); } return datas.size(); }
text = text.replace(");", ""); JSONObject videoJson = JSONObject.parseObject(text); video.setPlayUrl(videoJson.getJSONArray("nodelist").getJSONObject(0).getString("location")); return video;
/** * 获得讨论组的详细信息 * * @param discussId 讨论组id * @return */ public DiscussInfo getDiscussInfo(long discussId) { LOGGER.debug("开始获取讨论组资料"); Response<String> response = get(ApiURL.GET_DISCUSS_INFO, discussId, vfwebqq, psessionid); JSONObject result = getJsonObjectResult(response); DiscussInfo discussInfo = result.getObject("info", DiscussInfo.class); //获得讨论组成员信息 Map<Long, DiscussUser> discussUserMap = new HashMap<>(); JSONArray minfo = result.getJSONArray("mem_info"); for (int i = 0; minfo != null && i < minfo.size(); i++) { DiscussUser discussUser = minfo.getObject(i, DiscussUser.class); discussUserMap.put(discussUser.getUin(), discussUser); discussInfo.addUser(discussUser); } JSONArray stats = result.getJSONArray("mem_status"); for (int i = 0; stats != null && i < stats.size(); i++) { JSONObject item = stats.getJSONObject(i); DiscussUser discussUser = discussUserMap.get(item.getLongValue("uin")); discussUser.setClientType(item.getIntValue("client_type")); discussUser.setStatus(item.getString("status")); } return discussInfo; }
protected void parseCard(Card card, JSONObject data, ServiceManager serviceManager, Map<String, ComponentInfo> componentInfoMap) { card.id = data.getString(KEY_ID); if (card.id == null) { card.id = ""; } // parsing header JSONObject header = data.getJSONObject(KEY_HEADER); BaseCell headerCell = parseSingleComponent(header, card, serviceManager, componentInfoMap); parseHeaderCell(headerCell, card); // parsing body JSONArray componentArray = data.getJSONArray(KEY_ITEMS); if (componentArray != null) { final int cellLength = componentArray.size(); for (int i = 0; i < cellLength; i++) { final JSONObject cellData = componentArray.getJSONObject(i); parseSingleComponent(cellData, card, card.serviceManager, componentInfoMap); } } // parsing footer JSONObject footer = data.getJSONObject(KEY_FOOTER); BaseCell footerCell = parseSingleComponent(footer, card, serviceManager, componentInfoMap); parseFooterCell(footerCell, card); }
@Override public int permission(JSONArray datas, int id) { for (int i = 0; i < datas.size(); i ++) { JSONObject json = datas.getJSONObject(i); if (json.getBoolean("checked")) { // 新增权限 UpmsUserPermission upmsUserPermission = new UpmsUserPermission(); upmsUserPermission.setUserId(id); upmsUserPermission.setPermissionId(json.getIntValue("id")); upmsUserPermission.setType(json.getByte("type")); upmsUserPermissionMapper.insertSelective(upmsUserPermission); } else { // 删除权限 UpmsUserPermissionExample upmsUserPermissionExample = new UpmsUserPermissionExample(); upmsUserPermissionExample.createCriteria() .andPermissionIdEqualTo(json.getIntValue("id")) .andTypeEqualTo(json.getByte("type")); upmsUserPermissionMapper.deleteByExample(upmsUserPermissionExample); } } return datas.size(); }