com.alibaba.fastjson.JSONArray#parseArray ( )源码实例Demo

下面列出了com.alibaba.fastjson.JSONArray#parseArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: COLA   文件: ColaTestModelStore.java
public List<ColaTestModel> load(){
    List<ColaTestModel> models = null;
    try {
        RandomAccessFile rf = new RandomAccessFile(file, "r");
        String line;
        StringBuilder sb = new StringBuilder();
        while((line = rf.readLine()) != null){
            line = line.trim();
            if(StringUtils.isBlank(line)){
                continue;
            }
            if(line.startsWith(Constants.NOTE_SYMBOL)){
                continue;
            }
            sb.append(line);
        }
        JSONArray array = JSONArray.parseArray(sb.toString());
        models = resolveColatestModel(array);
        rf.close();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return models;
}
 
源代码2 项目: gsc-core   文件: HttpTestBlock001.java
/**
 * constructor.
 */
@Test(enabled = true, description = "get chain parameter by http")
public void get11ChainParameter() {
  response = HttpMethed.getChainParameter(httpnode);
  responseContent = HttpMethed.parseResponseContent(response);
  HttpMethed.printJsonContent(responseContent);
  JSONArray jsonArray = JSONArray.parseArray(responseContent.get("chainParameter").toString());
  Assert.assertTrue(jsonArray.size() >= 26);
  Boolean exsistDelegated = false;
  for (int i = 0; i < jsonArray.size(); i++) {
    if (jsonArray.getJSONObject(i).getString("key").equals("getAllowDelegateResource")) {
      exsistDelegated = true;
      Assert.assertTrue(jsonArray.getJSONObject(i).getString("value").equals("1"));
    }
  }
  Assert.assertTrue(exsistDelegated);
}
 
@Override
public CommandResponse<String> handle(CommandRequest request) {
    String namespace = request.getParam("namespace");
    if (StringUtil.isEmpty(namespace)) {
        return CommandResponse.ofFailure(new IllegalArgumentException("empty namespace"));
    }
    String data = request.getParam("data");
    if (StringUtil.isBlank(data)) {
        return CommandResponse.ofFailure(new IllegalArgumentException("empty data"));
    }
    try {
        data = URLDecoder.decode(data, "UTF-8");
        RecordLog.info("Receiving cluster param rules for namespace <{}> from command handler: {}", namespace, data);

        List<ParamFlowRule> flowRules = JSONArray.parseArray(data, ParamFlowRule.class);
        ClusterParamFlowRuleManager.loadRules(namespace, flowRules);

        return CommandResponse.ofSuccess(SUCCESS);
    } catch (Exception e) {
        RecordLog.warn("[ModifyClusterParamFlowRulesCommandHandler] Decode cluster param rules error", e);
        return CommandResponse.ofFailure(e, "decode cluster param rules error");
    }
}
 
源代码4 项目: Aooms   文件: UserService.java
private void addRoles(String userId){
    String roleIds = getParaString("roleIds");
    if(StrUtil.isNotBlank(roleIds)){
        JSONArray ids = JSONArray.parseArray(roleIds);
        ids.forEach(id -> {
            Record record = Record.empty();
            record.set(AoomsVar.ID,IDGenerator.getStringValue());
            record.set("user_id",userId);
            record.set("role_id",id);
            record.set("create_time",DateUtil.now());
            db.insert("aooms_rbac_userrole", record);
        });
    }
}
 
源代码5 项目: DBus   文件: TableService.java
public void saveAllRules(Map<String, Object> map) {
    DataTableRuleGroup group = new DataTableRuleGroup();
    group.setId(Integer.parseInt(map.get("groupId").toString()));
    dataTableRuleMapper.updateRuleGroup(group);
    dataTableRuleMapper.deleteRules(Integer.parseInt(map.get("groupId").toString()));

    String listTxt = map.get("rules").toString();
    List<DataTableRule> list = JSONArray.parseArray(listTxt, DataTableRule.class);
    dataTableRuleMapper.saveAllRules(list);
}
 
源代码6 项目: gsc-core   文件: HttpTestAsset001.java
/**
 * * constructor. *
 */
@Test(enabled = true, description = "Get paginated asset issue list by http")
public void test11GetPaginatedAssetissueList() {
  response = HttpMethed.getPaginatedAssetissueList(httpnode, 0, 1);
  responseContent = HttpMethed.parseResponseContent(response);
  HttpMethed.printJsonContent(responseContent);
  Assert.assertEquals(response.getStatusLine().getStatusCode(), 200);

  JSONArray jsonArray = JSONArray.parseArray(responseContent.getString("assetIssue"));
  Assert.assertTrue(jsonArray.size() == 1);
}
 
源代码7 项目: wx-crawl   文件: WxCrawler.java
private List<ArticleSummaryObj> parseArticleListByPage(Page page) throws Exception {
    int startIndex = page.html().indexOf(WxCrawlerConstant.ArticleList.ARTICLE_LIST_KEY) +
            WxCrawlerConstant.ArticleList.ARTICLE_LIST_KEY.length();
    int endIndex = page.html().indexOf(WxCrawlerConstant.ArticleList.ARTICLE_LIST_SUFFIX);
    String jsonStr = page.html().substring(startIndex, endIndex).trim();
    jsonStr = jsonStr.substring(0,jsonStr.length()-1);
    JSONObject json = JSONObject.parseObject(jsonStr);
    return JSONArray.parseArray(json.getString("list"), ArticleSummaryObj.class);
}
 
源代码8 项目: scaffold-cloud   文件: ResultSetUtils.java
public static <T> List<T> convertToList(ResultSet rs, Class<T> t) throws SQLException{
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
    int columnCount = md.getColumnCount();
    while (rs.next()) {
        Map<String, Object> rowData = new HashMap<String, Object>();
        for (int i = 1; i <= columnCount; i++) {
            rowData.put(md.getColumnName(i), rs.getObject(i));
        }
        list.add(rowData);
    }
    List<T> resultList = JSONArray.parseArray(JSONObject.toJSONString(list),t);

    return resultList;
}
 
源代码9 项目: gsc-core   文件: HttpTestProposal001.java
/**
 * * constructor. *
 */
@Test(enabled = true, description = "List proposals by http")
public void test2ListProposals() {
  response = HttpMethed.listProposals(httpnode);
  responseContent = HttpMethed.parseResponseContent(response);
  HttpMethed.printJsonContent(responseContent);
  JSONArray jsonArray = JSONArray.parseArray(responseContent.getString("proposals"));
  Assert.assertTrue(jsonArray.size() >= 1);
  proposalId = jsonArray.size();
}
 
源代码10 项目: sofa-dashboard   文件: ZkHelper.java
private Set<String> parseBizStateByKey(String key, JSONObject json) {
    String val = FastJsonUtils.getString(json, key);
    JSONArray urls = JSONArray.parseArray(val);
    Set<String> data = new HashSet<>();
    for (int i = 0; i < urls.size(); i++) {
        JSONObject jsonObject = urls.getJSONObject(i);
        data.add(jsonObject.toString());
    }
    return data;
}
 
源代码11 项目: Jpom   文件: IndexControl.java
@RequestMapping(value = "menus_data.json", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public String menusData() {
    NodeModel nodeModel = tryGetNode();
    UserModel userModel = getUserModel();
    // 菜单
    InputStream inputStream;
    String secondary;
    if (nodeModel == null) {
        inputStream = ResourceUtil.getStream("classpath:/menus/index.json");
        secondary = "";
    } else {
        inputStream = ResourceUtil.getStream("classpath:/menus/node-index.json");
        secondary = "node/";
    }

    String json = IoUtil.read(inputStream, CharsetUtil.CHARSET_UTF_8);
    JSONArray jsonArray = JSONArray.parseArray(json);
    List<Object> collect1 = jsonArray.stream().filter(o -> {
        JSONObject jsonObject = (JSONObject) o;
        if (!testMenus(jsonObject, userModel, secondary)) {
            return false;
        }
        JSONArray childs = jsonObject.getJSONArray("childs");
        if (childs != null) {
            List<Object> collect = childs.stream().filter(o1 -> {
                JSONObject jsonObject1 = (JSONObject) o1;
                return testMenus(jsonObject1, userModel, secondary);
            }).collect(Collectors.toList());
            if (collect.isEmpty()) {
                return false;
            }
            jsonObject.put("childs", collect);
        }
        return true;
    }).collect(Collectors.toList());
    return JsonMessage.getString(200, "", collect1);
}
 
源代码12 项目: gsc-core   文件: HttpTestAsset001.java
/**
 * * constructor. *
 */
@Test(enabled = true, description = "Get paginated asset issue list from confirmed by http")
public void test12GetPaginatedAssetissueListFromConfirmed() {
  response = HttpMethed.getPaginatedAssetissueListFromConfirmed(httpConfirmednode, 0, 1);
  responseContent = HttpMethed.parseResponseContent(response);
  HttpMethed.printJsonContent(responseContent);
  Assert.assertEquals(response.getStatusLine().getStatusCode(), 200);

  JSONArray jsonArray = JSONArray.parseArray(responseContent.getString("assetIssue"));
  Assert.assertTrue(jsonArray.size() == 1);
}
 
源代码13 项目: uavstack   文件: ReliableTaildirEventReader.java
public void loadPositions(String json) {

        if (StringHelper.isEmpty(json)) {
            return;
        }

        Long inode = 0L, pos = 0L, number = 0L;
        String file = "";
        JSONArray positionRecords = JSONArray.parseArray(json);
        for (int i = 0; i < positionRecords.size(); i++) {
            JSONObject positionObject = (JSONObject) positionRecords.get(i);
            inode = positionObject.getLong("inode");
            pos = positionObject.getLong("pos");
            file = positionObject.getString("file");
            Long currentInode = 0L;
            try {
                currentInode = getInode(new File(file));
            }
            catch (IOException e1) {
                log.err(this, "TailFile updatePos FAILED,getInode Fail.", e1);
            }
            if (!currentInode.equals(inode)) {
                maybeReloadMap.remove(inode);
            }
            else {
                // add line number
                number = positionObject.getLongValue("num");
                for (Object v : Arrays.asList(inode, pos, file)) {
                    Preconditions.checkNotNull(v, "Detected missing value in position file. " + "inode: " + inode
                            + ", pos: " + pos + ", path: " + file);
                }
                TailFile tf = tailFiles.get(inode);
                try {
                    if (tf != null && tf.updatePos(file, inode, pos, number)) {
                        tailFiles.put(inode, tf);
                    }
                    else {
                        // add old tail file into memory
                        maybeReloadMap.put(inode, new Long[] { pos, number });
                        if (log.isDebugEnable()) {
                            log.debug(this, "add old&inInterrupt file: " + file + ", inode: " + inode + ", pos: " + pos);
                        }

                    }
                }
                catch (IOException e) {
                    log.err(this, "TailFile updatePos FAILED.", e);
                }
            }
        }
    }
 
源代码14 项目: InChat   文件: VerifyServiceImpl.java
public JSONArray getArrayByGroupId(String groupId) {
    JSONArray jsonArray = JSONArray.parseArray("[\"1111\",\"2222\",\"3333\"]");
    return jsonArray;
}
 
源代码15 项目: SuitAgent   文件: RabbitMQPlugin.java
/**
 * 所有的队列监控数据
 * @param rabbitMQ
 * @return
 */
private List<DetectResult.Metric> allQueueData(RabbitMQ rabbitMQ) {
    List<DetectResult.Metric> result = new ArrayList<>();
    String apiBody = getAPIResult(rabbitMQ,"api/queues");
    if (apiBody != null){
        if (apiBody.trim().equals("[]")){
            log.info("当前RabbitMQ({}:{})无队列数据",rabbitMQ.getIp(),rabbitMQ.getPort());
        }else {
            JSONArray jsonArray = JSONArray.parseArray(apiBody);
            //队列数
            result.add(new DetectResult.Metric("queues_count",String.valueOf(jsonArray.size()),CounterType.GAUGE,""));
            long consumersCountTotal = 0;
            for (Object o : jsonArray) {
                JSONObject jsonObject = (JSONObject) o;
                String queueName = jsonObject.getString("name");
                String vHost = jsonObject.getString("vhost");
                if (queueName == null || vHost == null) {
                    continue;
                }
                String tag = String.format("queue=%s,vhost=%s",queueName,vHost);
                consumersCountTotal += jsonObject.getLong("consumers");
                //队列消费者接收新消息的时间的比例
                utilForParsingJSON(result,"queues_consumer_utilisation","consumer_utilisation",jsonObject,CounterType.GAUGE,tag);
                //队列中的消息总数
                utilForParsingJSON(result,"queues_messages","messages",jsonObject,CounterType.GAUGE,tag);
                //发送给客户端单但至今还未被确认的消息数量
                utilForParsingJSON(result,"queues_messages_unacknowledged","messages_unacknowledged",jsonObject,CounterType.GAUGE,tag);
                //每秒发送给客户端但至今还未被确认的消息数量
                utilForParsingJSON(result,"queues_messages_unacknowledged_rate","messages_unacknowledged_details->rate",jsonObject,CounterType.GAUGE,tag);
                //准备发送给客户端的数量
                utilForParsingJSON(result,"queues_messages_ready","messages_ready",jsonObject,CounterType.GAUGE,tag);
                //每秒准备发送给客户端的数量
                utilForParsingJSON(result,"queues_messages_ready_rate","messages_ready_details->rate",jsonObject,CounterType.GAUGE,tag);
                //发布的消息数量
                utilForParsingJSON(result,"queues_messages_publish_count","message_stats->publish",jsonObject,CounterType.GAUGE,tag);
                //每秒发布的消息数量
                utilForParsingJSON(result,"queues_messages_publish_count_rate","message_stats->publish_details->rate",jsonObject,CounterType.GAUGE,tag);
                //发送给客户端并确认的消息数量
                utilForParsingJSON(result,"queues_messages_ack_count","message_stats->ack",jsonObject,CounterType.GAUGE,tag);
                //每秒发送给客户端并确认的消息数量
                utilForParsingJSON(result,"queues_messages_ack_count_rate","message_stats->ack_details->rate",jsonObject,CounterType.GAUGE,tag);
                //消费者接收并响应的消息数量
                utilForParsingJSON(result,"queues_messages_deliver_count","message_stats->deliver",jsonObject,CounterType.GAUGE,tag);
                //每秒消费者接收并响应的消息数量
                utilForParsingJSON(result,"queues_messages_deliver_count_rate","message_stats->deliver_details->rate",jsonObject,CounterType.GAUGE,tag);

            }

            //消费者总数量
            result.add(new DetectResult.Metric("queues_consumers_count_total",String.valueOf(consumersCountTotal),CounterType.GAUGE,""));

        }
    }
    return result;
}
 
源代码16 项目: DragPointView   文件: SampleActivity.java
private void initList() {
    conversationEntities = JSONArray.parseArray(ConversationEntity.TEST_JSON, ConversationEntity.class);
    listView.setAdapter(new ItemConversationAdapter(this, conversationEntities));
    updateUnreadCount();
}
 
源代码17 项目: Cynthia   文件: WebServiceController.java
@ResponseBody
@RequestMapping("/importData.do")
public String importData(HttpServletRequest request , HttpServletResponse response, HttpSession httpSession) throws Exception {
	List<Map<String, String>> allImportDataList = new ArrayList<Map<String,String>>();
	String jsonData = request.getParameter("importDatas");
	JSONArray jsonArray = JSONArray.parseArray(jsonData);
	for (Object object : jsonArray) {
		JSONObject jsonObject = JSONObject.parseObject(object.toString());
		Map<String, String> singleDataMap = new HashMap<String, String>();
		allImportDataList.add(singleDataMap);
		for (String key : jsonObject.keySet()) {
			singleDataMap.put(key, jsonObject.getString(key));
		}
	}

	if (allImportDataList.size() <= 0) {
		return getReturnJson("true","");
	}
	
	ExcelImportControllerNew eic = new ExcelImportControllerNew();
	
	Set<Field> allNeedFields = new HashSet<Field>();
	List< Pair<String, String>> errorList = new ArrayList<Pair<String,String>>();

	for(int i = 0 ; i < allImportDataList.size() ; i ++){
		try {
			Map<String, String> exportMapData = allImportDataList.get(i);
			String templateIdStr = exportMapData.get("templateId");
			if (CynthiaUtil.isNull(templateIdStr)) {
				errorList.add(new Pair<String, String>(exportMapData.get("title"), "templateId is not set!"));
				continue;
			}

			UUID templateId = DataAccessFactory.getInstance().createUUID(templateIdStr);
			Template template = das.queryTemplate(templateId);  //得到表单
			if (template == null) {
				errorList.add(new Pair<String, String>(exportMapData.get("title"), "templateId is not set!"));
				continue;
			}
			Flow flow = das.queryFlow(template.getFlowId());

			Set<Field> allFields = eic.GetAllFields(template);//表单所有字段,除出废弃字段
			
			Pair<String, String> saveErrorPair = eic.saveSingleData(template, flow, allNeedFields, exportMapData);
			if (saveErrorPair != null) {
				errorList.add(saveErrorPair);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	if (errorList.size() > 0) {
		return getReturnJson("false", errorList);
	}else {
		return getReturnJson("true", null);
	}
	
}
 
源代码18 项目: message_interface   文件: EmojiConverter.java
private boolean setup() {
    if (inited) {
        return true;
    }

    final char[] keys = {'|', '(', ')', '[', ']', '{', '}', '<', '>' , '.', '*', '\\', '^', '$', '+', '-', ',', '?', '='};
    for (char key : keys) {
        patternKeys.add(key);
    }

    try {
        StringBuilder wxEmojis = new StringBuilder();
        File file = ResourceUtils.getFile("classpath:config/emoji_mapping.json"); // new File("e:/emoji_mapping.json"); //
        String content = FileUtils.readFileToString(file, Charset.forName("utf-8"));
        JSONArray pairs = JSONArray.parseArray(content);
        for (int i = 0; i < pairs.size(); ++i) {
            JSONObject item = pairs.getJSONObject(i);
            String nim = item.getString("nim");
            String wx = item.getString("wx");

            // 微信的表情没有停止符,做全匹配比较好
            if (i > 0) {
                wxEmojis.append('|');
            }
            wxEmojis.append(escapePattern(wx));

            // 存入map
            if (nim.startsWith("[")) {
                nim2Wx.put(nim, wx);
            }
            wx2Nim.put(wx, nim);
        }
        wxPattern = Pattern.compile(wxEmojis.toString(), Pattern.UNICODE_CASE);
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }

    inited = true;
    return true;
}
 
源代码19 项目: MicroCommunity   文件: FrontFeeServiceSMOImpl.java
@Override
public ResponseEntity<String> loadParkingSpaceConfigFee(IPageData pd) {
    validateLoadPropertyConfigFee(pd);

    //校验员工是否有权限操作
    super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.PRIVILEGE_PARKING_SPACE_CONFIG_FEE);

    JSONObject paramIn = JSONObject.parseObject(pd.getReqData());
    String communityId = paramIn.getString("communityId");
    ResponseEntity responseEntity = super.getStoreInfo(pd, restTemplate);
    if (responseEntity.getStatusCode() != HttpStatus.OK) {
        return responseEntity;
    }
    Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeId", "根据用户ID查询商户ID失败,未包含storeId节点");
    Assert.jsonObjectHaveKey(responseEntity.getBody().toString(), "storeTypeCd", "根据用户ID查询商户类型失败,未包含storeTypeCd节点");

    String storeId = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeId");
    String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
    //数据校验是否 商户是否入驻该小区
    super.checkStoreEnterCommunity(pd, storeId, storeTypeCd, communityId, restTemplate);
    responseEntity = this.callCenterService(restTemplate, pd, "",
            ServiceConstant.SERVICE_API_URL + "/api/fee.queryFeeConfig" + mapToUrlParam(paramIn),
            HttpMethod.GET);
    if (responseEntity.getStatusCode() != HttpStatus.OK) {
        return responseEntity;
    }
    JSONArray feeConfigs = JSONArray.parseArray(responseEntity.getBody().toString());

    if (feeConfigs != null && feeConfigs.size() > 1) {
        responseEntity = new ResponseEntity<String>("数据异常,请检查配置数据", HttpStatus.BAD_REQUEST);
        return responseEntity;
    }

    if (feeConfigs != null && feeConfigs.size() > 0) {
        responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(feeConfigs.get(0)), HttpStatus.OK);
    } else {
        responseEntity = new ResponseEntity<String>("{}", HttpStatus.OK);

    }


    return responseEntity;
}
 
源代码20 项目: Jpom   文件: UserRoleListController.java
@RequestMapping(value = "save.json", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
@Feature(method = MethodFeature.EDIT)
@OptLog(value = UserOperateLogV1.OptType.EditRole)
public String save(String id,
                   @ValidatorItem(value = ValidatorRule.NOT_BLANK, msg = "请输入角色名称") String name,
                   @ValidatorItem(value = ValidatorRule.NOT_BLANK, msg = "请输入选择权限") String feature) {
    JSONArray jsonArray = JSONArray.parseArray(feature);
    RoleModel item = roleService.getItem(id);
    if (item == null) {
        item = new RoleModel();
        item.setId(IdUtil.fastSimpleUUID());
    }
    item.setName(name);
    List<RoleModel.RoleFeature> roleFeatures = new ArrayList<>();
    jsonArray.forEach(o -> {
        JSONObject jsonObject = (JSONObject) o;
        JSONArray children = jsonObject.getJSONArray("children");
        if (children == null || children.isEmpty()) {
            return;
        }
        String id1 = jsonObject.getString("id");
        ClassFeature classFeature = ClassFeature.valueOf(id1);
        RoleModel.RoleFeature roleFeature = new RoleModel.RoleFeature();
        roleFeature.setFeature(classFeature);
        roleFeatures.add(roleFeature);
        //
        List<MethodFeature> methodFeatures = new ArrayList<>();
        children.forEach(o1 -> {
            JSONObject childrenItem = (JSONObject) o1;
            String id11 = childrenItem.getString("id");
            id11 = id11.substring(id1.length() + 1);
            MethodFeature methodFeature = MethodFeature.valueOf(id11);
            methodFeatures.add(methodFeature);
        });
        roleFeature.setMethodFeatures(methodFeatures);
    });
    item.setFeatures(roleFeatures);
    //
    if (StrUtil.isNotEmpty(id)) {
        roleService.updateItem(item);
    } else {
        roleService.addItem(item);
    }
    return JsonMessage.getString(200, "操作成功");
}