java - 如何在java中获取json数组的长度
问题描述
我正在处理一项要求,我需要在整个 json 中获取低于 json 的长度和过滤器对象的长度
附加json以供参考。
{
"employeeId": "41825",
"userId": "tawright",
"sourceSystem": "Visibility",
"loginId": "nudayaku",
"groupBy": "order",
"isPretty": false,
"limit": 10,
"offset": 0,
"sortBy": "so_date",
"sortOrder": "desc",
"filters": [{
"name": "type",
"value": "POS",
"op": "eq"
}],
"srpGoalHeaderId": 3069181,
"srpGoalQuotaId": 1750558,
"category": "PRD & SVC|AG",
"goalSheet": "2020 CS020 28-Jul-2019 to 25-Jul-2020",
"loggedInUser": "nudayaku",
"requestedScreen": "orderSearch.g2c"
}
有人可以帮助我如何获得此 JSon 中涉及的过滤器的长度。
我在解析 JSOn 时收到以下错误
org.json.simple.JSONArray 不能转换为 org.json.JSONArray
import java.io.FileOutputStream;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Callable;
import java.sql.Timestamp;
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.json.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.cisco.export.utils.SFDbConnection;
import com.fasterxml.jackson.core.JsonParser;
//Assign value from Input Export JSon
JSONObject json = getJSONObject(getFilters());
String employeeId = (String) json.get("employeeId");
Long planId = (Long) json.get("planId");
Long srpGoalHeaderId = (Long) json.get("srpGoalHeaderId");
Long allocationId = (Long) json.get("allocationId");
String nodeName = (String) json.get("nodeName");
String erpPosFlag = (String) json.get("erpPosFlag");
Long soNumber = (Long) json.get("soNumber");
ObjectMapper mapper = new ObjectMapper();
JSONArray filters = (JSONArray) json.get("filters");
System.out.println("filters" +filters);
错误日志:
Exception is java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray java.lang.ClassCastException: org.json.simple.JSONArray cannot be cast to org.json.JSONArray
谢谢,尼基尔
解决方案
您正在导入 JSONArray 如下(来自不同的库)
import org.json.JSONArray;
也可以从简单的 json 导入它
import org.json.simple.JSONArray;
希望这可以帮助 !!
推荐阅读
- python - 使用字典键访问对象属性
- javascript - onblur 在 iOS 和 Mac Safari 上禁用点击(外部输入和点击其他输入)也强制打开键盘并且它不会关闭 - (Jquery)
- reactjs - React - 等待 div 完全加载
- python - 导入模块“线程”时发生错误
- ios - UIButton ImageView 内容模式不起作用
- ssas - 如何在不使用渐变维度的情况下创建维度中的数据历史记录?
- django - Django import-export 在导出到 csv 时将 manytomany 显示为名称而不是 id
- python - 如何通过创建具有多个输入的 LSTM 来修复“类层实例”错误?
- javascript - Nock 不返回设置的标头
- python - 为什么我的 Path.expanduser 不断收到以下错误消息?['str' 对象没有属性 '_drv']