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

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

源代码1 项目: datax-web   文件: JSONUtils.java
/**
 * @param jsonStr
 * @param changeType 0加密 or 1解密
 * @return jsonStr
 */
public static String changeJson(String jsonStr, Integer changeType) {
    JSONObject json = JSONObject.parseObject(jsonStr);
    JSONObject job = json.getJSONObject("job");
    JSONArray contents = job.getJSONArray("content");
    for (int i = 0; i < contents.size(); i++) {
        String contentStr = contents.getString(i);
        Object obj = contents.get(i);
        if (decrypt.equals(changeType)) { //解密
            ((JSONObject) obj).put("reader", change(contentStr, "reader", decrypt));
            ((JSONObject) obj).put("writer", change(contentStr, "writer", decrypt));
        } else if (encrypt.equals(changeType)) {//加密
            ((JSONObject) obj).put("reader", change(contentStr, "reader", encrypt));
            ((JSONObject) obj).put("writer", change(contentStr, "writer", encrypt));
        }
    }
    job.put("content", contents);
    json.put("job", job);
    return json.toJSONString();
}
 
源代码2 项目: Alice-LiveMan   文件: OpenRecLiveService.java
@Override
public URI getLiveVideoInfoUrl(ChannelInfo channelInfo) throws Exception {
    String channelName = channelInfo.getChannelUrl().replace("https://www.openrec.tv/user/", "");
    URI moviesUrl = new URI(GET_MOVIES_API + "?channel_id=" + channelName + "&sort=onair_status");
    String moviesJson = HttpRequestUtil.downloadUrl(moviesUrl, channelInfo != null ? channelInfo.getCookies() : null, Collections.emptyMap(), StandardCharsets.UTF_8);
    JSONArray movies = JSON.parseArray(moviesJson);
    if (!movies.isEmpty()) {
        JSONObject movieObj = (JSONObject) movies.get(0);
        Integer onAirStatus = movieObj.getInteger("onair_status");
        if (onAirStatus == 1) {
            String videoId = movieObj.getString("id");
            return new URI(GET_VIDEO_INFO_URL + videoId);
        }
    }
    return null;
}
 
源代码3 项目: rebuild   文件: NavManagerTest.java
@Test
public void testNavBuilder() throws Exception {
	MockHttpServletRequestBuilder builder = MockMvcRequestBuilders
			.get("/rebuild")
			.sessionAttr(WebUtils.CURRENT_USER, UserService.ADMIN_USER);
	HttpServletRequest request = builder.buildRequest(new MockServletContext());
	
	JSONArray navForPortal = NavBuilder.instance.getNavPortal(request);
	System.out.println("testPortalNav .......... \n" + navForPortal.toJSONString());
	
	if (!navForPortal.isEmpty()) {
		JSONObject firstNav = (JSONObject) navForPortal.get(0);
		String navHtml = NavBuilder.instance.renderNavItem(firstNav, "home");
		System.out.println(navHtml);
	}
}
 
源代码4 项目: redis-manager   文件: OperationLogAspect.java
/**
 * 这里可能不是特别合理,只为实现功能
 */
private Integer getOperationGroupId(Object[] args){
    Object arg = args[0];
    Integer operationGroupId = -1;
    if (arg instanceof JSONObject){
        operationGroupId = (Integer)((JSONObject)arg).get("groupId");
    }else{
        if (arg instanceof List) {
            JSONArray argArray = (JSONArray)JSONObject.toJSON(arg);
            JSONObject jsonObject = (JSONObject)argArray.get(0);
            operationGroupId = (Integer)jsonObject.get("groupId");
        }else {
            if (arg instanceof InstallationParam){
                InstallationParam installationParam = (InstallationParam)arg;
                Cluster cluster = installationParam.getCluster();
                operationGroupId = cluster.getGroupId();
            }else{
                JSONObject argJson = (JSONObject)JSONObject.toJSON(arg);
                operationGroupId = (Integer)argJson.get("groupId");
            }
        }
    }

    return operationGroupId;
}
 
源代码5 项目: DBus   文件: TableService.java
public void importRulesByTableId(Integer tableId, String json) {
    JSONArray jsonArray = JSONArray.parseArray(json);
    for (int i = 0; i < jsonArray.size(); i++) {
        JSONObject groupRules = (JSONObject) jsonArray.get(i);
        DataTableRuleGroup dataTableRuleGroup = new DataTableRuleGroup();
        dataTableRuleGroup.setTableId(tableId);
        dataTableRuleGroup.setGroupName(groupRules.getString("groupName"));
        dataTableRuleGroup.setStatus("inactive");
        dataTableRuleMapper.addGroup(dataTableRuleGroup);
        JSONArray rules = groupRules.getJSONArray("rules");
        int order = 0;
        ArrayList<DataTableRule> dataTableRules = new ArrayList<>();
        for (int j = 0; j < rules.size(); j++) {
            JSONObject rule = (JSONObject) rules.get(j);
            DataTableRule dataTableRule = new DataTableRule();
            dataTableRule.setGroupId(dataTableRuleGroup.getId());
            dataTableRule.setOrderId(order);
            dataTableRule.setRuleTypeName(rule.getString("ruleTypeName"));
            dataTableRule.setRuleGrammar(rule.getString("ruleGrammar"));
            dataTableRules.add(dataTableRule);
            order++;
        }
        dataTableRuleMapper.saveAllRules(dataTableRules);
    }
}
 
源代码6 项目: SuperBoot   文件: RequestBodyDecryptWrapper.java
/**
 * 解密JSON数组对象
 *
 * @param secretKey 密钥
 * @param jsonArray JSON数组
 * @return
 */
public JSONArray aesJsonArray(String secretKey, JSONArray jsonArray) {
    for (int i = 0; i < jsonArray.size(); i++) {
        //判断是否为JSON对象
        if (jsonArray.get(i) instanceof JSONObject) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            //变更JSON数组对象
            jsonArray.set(i, aesJsonObject(secretKey, jsonObject));
        } else {
            //非JSON对象直接执行解密
            jsonArray.set(i, aesDecrypt(secretKey, jsonArray.getString(i)));
        }

    }
    return jsonArray;
}
 
源代码7 项目: sofa-dashboard   文件: ZkHelper.java
private URL[] getUrls(String key, JSONObject json) throws MalformedURLException {
    String classPath = FastJsonUtils.getString(json, key);
    JSONArray urls = JSONArray.parseArray(classPath);
    URL[] data = new URL[urls.size()];
    for (int i = 0; i < urls.size(); i++) {
        Object object = urls.get(i);
        data[i] = new URL(object == null ? "" : (String) object);

    }
    return data;
}
 
/**
 * convert query result data to JSON format.
 *
 * @param request http request
 * @param response http response
 * @return data in JSON format
 */
@RequestMapping(value = "/query")
@ResponseBody
public String query(HttpServletRequest request, HttpServletResponse response) {
  String targetStr = "target";
  response.setStatus(200);
  try {
    JSONObject jsonObject = getRequestBodyJson(request);
    Pair<ZonedDateTime, ZonedDateTime> timeRange = getTimeFromAndTo(jsonObject);
    JSONArray array = (JSONArray) jsonObject.get("targets"); // []
    JSONArray result = new JSONArray();
    for (int i = 0; i < array.size(); i++) {
      JSONObject object = (JSONObject) array.get(i); // {}
      if (!object.containsKey(targetStr)) {
        return "[]";
      }
      String target = (String) object.get(targetStr);
      String type = getJsonType(jsonObject);
      JSONObject obj = new JSONObject();
      obj.put("target", target);
      if (type.equals("table")) {
        setJsonTable(obj, target, timeRange);
      } else if (type.equals("timeserie")) {
        setJsonTimeseries(obj, target, timeRange);
      }
      result.add(i, obj);
    }
    logger.info("query finished");
    return result.toString();
  } catch (Exception e) {
    logger.error("/query failed", e);
  }
  return null;
}
 
源代码9 项目: jingtum-lib-java   文件: Remote.java
public List formatArgs(JSONArray args) {
	List list = new ArrayList();
	if (args != null) {
		for (int i = 0; i < args.size(); i++) {
			JSONObject jo = (JSONObject)args.get(i);
			list.add(hexToString(JSONObject.parseObject(jo.get("Arg").toString()).get("Parameter").toString()));
		}
	}
	return list;
}
 
源代码10 项目: DBus   文件: FlattenJsonArrayRule.java
private static List<String> flattenArray(String wkVal) {
    List<String> rows = new ArrayList<>();
    if (StringUtils.isNoneEmpty(wkVal)) {
        JSONArray jsonArray = JSON.parseArray(wkVal);
        for (int i = 0; i < jsonArray.size(); i++) {
            Object item = jsonArray.get(i);
            if (item != null) {
                rows.add(jsonArray.get(i).toString());
            } else {
                rows.add(StringUtils.EMPTY);
            }
        }
    }
    return rows;
}
 
源代码11 项目: DBus   文件: JarManagerService.java
private ArrayList<String> getStormSupervisors() {
    ArrayList<String> list = new ArrayList<>();
    try {
        JSONArray supervisors = JSONObject.parseObject(stormTopoHelper.supervisorSummary()).getJSONArray("supervisors");
        for (int i = 0; i < supervisors.size(); i++) {
            JSONObject supervisor = (JSONObject) supervisors.get(i);
            list.add(supervisor.getString("host"));
        }
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
    }
    return list;
}
 
源代码12 项目: ucar-weex-core   文件: NativeInvokeHelper.java
private Object[] prepareArguments(Type[] paramClazzs, JSONArray args) throws Exception {
  Object[] params = new Object[paramClazzs.length];
  Object value;
  Type paramClazz;
  for (int i = 0; i < paramClazzs.length; i++) {
    paramClazz = paramClazzs[i];
    if(i>=args.size()){
      if(!paramClazz.getClass().isPrimitive()) {
        params[i] = null;
        continue;
      }else {
        throw new Exception("[prepareArguments] method argument list not match.");
      }
    }
    value = args.get(i);

    if (paramClazz == JSONObject.class) {
      params[i] = value;
    } else if(JSCallback.class == paramClazz){
      if(value instanceof String){
        params[i] = new SimpleJSCallback(mInstanceId,(String)value);
      }else{
        throw new Exception("Parameter type not match.");
      }
    } else {
      params[i] = WXReflectionUtils.parseArgument(paramClazz,value);
    }
  }
  return params;
}
 
源代码13 项目: weex-uikit   文件: NativeInvokeHelper.java
private Object[] prepareArguments(Type[] paramClazzs, JSONArray args) throws Exception {
  Object[] params = new Object[paramClazzs.length];
  Object value;
  Type paramClazz;
  for (int i = 0; i < paramClazzs.length; i++) {
    paramClazz = paramClazzs[i];
    if(i>=args.size()){
      if(!paramClazz.getClass().isPrimitive()) {
        params[i] = null;
        continue;
      }else {
        throw new Exception("[prepareArguments] method argument list not match.");
      }
    }
    value = args.get(i);

    if (paramClazz == JSONObject.class) {
      params[i] = value;
    } else if(JSCallback.class == paramClazz){
      if(value instanceof String){
        params[i] = new SimpleJSCallback(mInstanceId,(String)value);
      }else{
        throw new Exception("Parameter type not match.");
      }
    } else {
      params[i] = WXReflectionUtils.parseArgument(paramClazz,value);
    }
  }
  return params;
}
 
源代码14 项目: TVSample   文件: DetailListActivity.java
private void parseJson(String content) {
    JSONObject jason = JSONObject.parseObject(content);
    JSONArray data = jason.getJSONArray("items");
    int totalCount = Integer.parseInt(jason.getString("count"));
    mDetailInfoList.clear();
    for (int i = 0; i < data.size(); i++) {
        DetailInfo info = new DetailInfo();
        JSONObject jsonObj = (JSONObject) data.get(i);
        String infotext = jsonObj.getString("infotext");
        String url = jsonObj.getString("poster");
        String title = jsonObj.getString("title");
        info.setPoster(url);
        info.setInfotext(infotext);
        info.setTitle(title);
        mDetailInfoList.add(info);
        Log.d(TAG, "parseJson mDetailInfoList " + mDetailInfoList.size());
    }
    for (int j = 0; j < mDetailInfoList.size(); j++) {
        Log.d(TAG, "parseJson mDetailInfoList : " + j + "content : " + mDetailInfoList.get(j).toString());
    }
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            Log.d(TAG, ">> performData");
            mOnDataFinishedListener.onPerformData();
        }
    });
}
 
源代码15 项目: sds   文件: InfluxHeartbeatDaoImpl.java
@Override
    public List<HeartbeatDO> queryHeartbeatList(String appGroupName, String appName, String point, Date startTime,
                                                Date endTime) {

        List<HeartbeatDO> result = Lists.newArrayList();

        if (StringUtils.isBlank(appGroupName) || StringUtils.isBlank(appName) || StringUtils.isBlank(point) || startTime == null || endTime == null) {
            return null;
        }

        /**
         * 构建influxdb的查询字符串
         */
        String queryStr = buildQueryString(appGroupName, appName, point, startTime, endTime);

        MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
        params.add("q", queryStr);
        ResponseEntity<String> exchange = restTemplate.exchange(queryUrl, HttpMethod.POST, new HttpEntity<>(params,
                null), String.class);

        if (!exchange.getStatusCode().is2xxSuccessful() || StringUtils.isBlank(exchange.getBody())) {
            return null;
        }

//        {
//            "results": [{
//                "statement_id": 0,
//                "series": [{
//                    "name": "heartbeat",
//                    "columns": ["time", "appGroupName", "appName", "concurrentNum", "downgradeNum", "exceptionNum",
//                    "ip", "point", "timeoutNum", "visitNum"],
//                    "values": [
//                            ["2019-09-15T08:45:00.844Z", "htw", "htw-order", 15, 10, 99, "10.2.2.9", "visitPoint",
//                            23, 100000],
//                            ["2019-09-15T08:45:21.959Z", "htw", "htw-order", 15, 10, 99, "10.2.2.9", "visitPoint",
//                            23, 100000]
//                        ]
//                    }
//                ]
//            }]
//        }

        /**
         * todo 这块代码后续需要优化 manzhizhen
         */
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(INFLUXDB_DATE_FORMAT);
        JSONObject responseJsonObject = JSONObject.parseObject(exchange.getBody());
        JSONArray responseResultsJsonArray = responseJsonObject.getJSONArray("results");
        JSONObject resultJsonObject = (JSONObject) responseResultsJsonArray.get(0);
        JSONArray seriesJsonArray = resultJsonObject.getJSONArray("series");
        JSONObject heartbeatJsonObject = (JSONObject) seriesJsonArray.get(0);
        JSONArray columnsJsonArray = heartbeatJsonObject.getJSONArray("columns");
        JSONArray valuesJsonArray = heartbeatJsonObject.getJSONArray("values");

        List<Object> conlumsList = columnsJsonArray.toJavaList(Object.class);
        List<Object> valuesList = valuesJsonArray.toJavaList(Object.class);
        Map<String, Object> map = Maps.newHashMap();
        for (int i = 0; i < valuesList.size(); i++) {
            for (int j = 0; j < conlumsList.size(); j++) {
                map.put(conlumsList.get(j).toString(), ((List) valuesList.get(i)).get(j));
            }

            HeartbeatDO heartbeatDO = new HeartbeatDO();
            try {
                heartbeatDO.setAppGroupName(map.get("appGroupName").toString());
                heartbeatDO.setAppName(map.get("appName").toString());
                heartbeatDO.setPoint(map.get("point").toString());
                heartbeatDO.setDowngradeNum(Long.valueOf(map.get("downgradeNum").toString()));
                heartbeatDO.setVisitNum(Long.valueOf(map.get("visitNum").toString()));
                heartbeatDO.setExceptionNum(Long.valueOf(map.get("exceptionNum").toString()));
                heartbeatDO.setTimeoutNum(Long.valueOf(map.get("timeoutNum").toString()));
                heartbeatDO.setMaxConcurrentNum(Integer.valueOf(map.get("concurrentNum").toString()));
                heartbeatDO.setStatisticsCycleTime(simpleDateFormat.parse(map.get("time").toString()));

                result.add(heartbeatDO);

            } catch (Exception e) {
                logger.warn("InfluxHeartbeatDaoImpl#queryHeartbeatList 心跳数据转换异常:" + JSON.toJSONString(map), e);
            }
        }

        return result;
    }
 
源代码16 项目: DBus   文件: FlattenJsonArrayRule.java
private static List<String> flattenJsonArray(String wkVal, String path) {
    List<String> rows = new ArrayList<>();
    JSONObject json = JSONObject.parseObject(wkVal);
    String parentPath = StringUtils.substringBeforeLast(path, ".");
    String currentPath = StringUtils.substringAfterLast(path, ".");
    if (json.containsKey(path)) {
        parentPath = StringUtils.EMPTY;
        currentPath = path;
    }
    Object currentJsonObj = JSONPath.read(wkVal, path);
    Object parentJsonObj = null;
    if (StringUtils.isBlank(parentPath)) {
        parentJsonObj = json;
    } else {
        parentJsonObj = JSONPath.read(wkVal, parentPath);
    }

    if (currentJsonObj instanceof JSONArray) {
        JSONArray retJsonArray = new JSONArray();
        JSONArray currentJsonArray = (JSONArray) currentJsonObj;
        for (int i = 0; i < currentJsonArray.size(); i++) {
            JSONObject jsonItemWk = new JSONObject();
            if (parentJsonObj instanceof JSONObject) {
                jsonItemWk = JSONObject.parseObject(((JSONObject) parentJsonObj).toJSONString());
                jsonItemWk.remove(currentPath);
            }
            jsonItemWk.put(currentPath, currentJsonArray.get(i));
            retJsonArray.add(jsonItemWk);
        }
        if (json.containsKey(path)) {
            for (int i = 0; i < retJsonArray.size(); i++) {
                JSONObject item = (JSONObject) retJsonArray.get(i);
                rows.add(item.toJSONString());
            }
        } else {
            JSONPath.set(json, parentPath, retJsonArray);
            rows.add(json.toJSONString());
        }
    }
    return rows;
}
 
源代码17 项目: rainbow   文件: HttpUtilTest.java
@Test
    public void HttpGetFilterTest() {
        SqlParser parser = new SqlParser();
        Query q = null;
        Object o = new Object();
        JSONArray jsonArray = null;

        int num = 0, cou = 0;
        while (true) {
            o = HttpUtil.HttpGet(Settings.PRESTO_QUERY);
            jsonArray = JSON.parseArray(o.toString());

            String queryId = null;
            String query = null;
            for (int i = count; i < jsonArray.size(); i++) {
                System.out.println("Loop Times: " + num);
                JSONObject jsonObject = (JSONObject) jsonArray.get(i);
                if (jsonObject.size() == 8) {
                    queryId = jsonObject.get("queryId").toString();
                    query = jsonObject.get("query").toString();
//                    System.out.println(queryId + "\t" + i + "\t" + query);
                    // Parser
                    try {
                        q = (Query) parser.createStatement(query);
                    } catch (Exception e) {
                        ExceptionHandler.Instance().log(ExceptionType.ERROR, "query error", e);
                    }
//                System.out.println(q.toString());
                    QuerySpecification queryBody = (QuerySpecification) q.getQueryBody();
                    // get columns
                    List<SelectItem> selectItemList = queryBody.getSelect().getSelectItems();
                    for (SelectItem column : selectItemList) {
                        System.out.println(column.toString());
                    }
                    // tableName
                    Table t = (Table) queryBody.getFrom().get();
                    System.out.println(t.getName());
                    if (t.getName().equals("text")) {
                        System.out.println("Text visit: " + cou++);
                    }
                }
            }
            // update count
            count = jsonArray.size();
            num++;
            o = new Object();
        }
    }
 
源代码18 项目: JsonSurfer   文件: FastJsonProvider.java
@Override
public Object resolve(JSONArray array, int index) {
    return array.get(index);
}
 
源代码19 项目: 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);
                }
            }
        }
    }
 
/**
 * get JSON type of input JSON object.
 *
 * @param jsonObject JSON Object
 * @return type (string)
 * @throws JSONException JSONException
 */
public String getJsonType(JSONObject jsonObject) throws JSONException {
  JSONArray array = (JSONArray) jsonObject.get("targets"); // []
  JSONObject object = (JSONObject) array.get(0); // {}
  return (String) object.get("type");
}