[{"deptCode":"mdm005","deptName":"外科住院"},{"deptCode":"codeceshi","deptName":"测试数据"}] 如何拿到emplName里的值
时间: 2024-06-02 15:06:21 浏览: 88
这是一个 JSON 数组,可以通过遍历数组,取出其中每个对象的 "emplName" 属性的值。
具体的实现方法,可以使用循环遍历数组,然后使用对象.属性名的方式获取每个对象的 "emplName" 属性值。
以下是一个示例代码,仅供参考:
```
JSONArray jsonArray = new JSONArray(jsonStr);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String emplName = jsonObject.getString("emplName");
// 这里可以对 emplName 做进一步处理或输出
}
```
相关问题
[{"deptCode":"mdm005","deptName":"外科住院"},{"deptCode":"codeceshi","deptName":"测试数据"}] vue 如何处理这个数据 并且拿到里面的汉字用逗号分开
可以通过以下方式处理该数据:
1. 首先将该数据转换为 JSON 对象,可以使用 `JSON.parse()` 方法。
2. 遍历 JSON 对象中的每个元素,将其汉字部分提取出来,可以使用正则表达式进行匹配。
3. 将提取出来的汉字使用逗号进行拼接,可以使用 `Array.join()` 方法。
以下是示例代码:
```javascript
let data = '[{"deptCode":"mdm005","deptName":"外科住院"},{"deptCode":"codeceshi","deptName":"测试数据"}]';
let jsonObj = JSON.parse(data);
let result = "";
for(let i=0; i<jsonObj.length; i++){
let name = jsonObj[i].deptName;
let pattern = /[\u4e00-\u9fa5]+/g; // 正则表达式匹配汉字
let matchArr = name.match(pattern);
result += matchArr.join(",") + ",";
}
result = result.substring(0, result.length-1); // 去掉最后一个逗号
console.log(result); // 输出:外科住院,测试数据
```
优化一下代码 String DEPTCODE032 = nullStr(map.get("DEPTCODE032")); String DEPTCODE033 = nullStr(map.get("DEPTCODE033")); String DEPTCODE034 = nullStr(map.get("DEPTCODE034")); String DEPTCODE047 = nullStr(map.get("DEPTCODE047")); String DEPTCODE048 = nullStr(map.get("DEPTCODE048")); String innercode = null; if(DEPTCODE048 != null){ innercode = "select innercode from bd_staff where shortname = '"+DEPTCODE047+"' and tenantId = '"+tenantId+"' and dr = 0"; } else{ if(DEPTCODE047 != null){ innercode = "select innercode from bd_staff where shortname = '"+DEPTCODE034+"' and tenantId = '"+tenantId+"' and dr = 0"; }else{ if(DEPTCODE034 != null){ innercode = "select innercode from bd_staff where shortname = '"+DEPTCODE033+"' and tenantId = '"+tenantId+"' and dr = 0"; }else{ if(DEPTCODE033 != null){ innercode = "select innercode from bd_staff where shortname = '"+DEPTCODE032+"' and tenantId = '"+tenantId+"' and dr = 0"; }else{ if(DEPTCODE032 != null){ innercode = "select innercode from bd_staff where code = '0' and tenantId = '"+tenantId+"' and dr = 0"; }else{ innercode = RDLetters(); } } } } }
可以使用一个循环和一个变量来避免这样的长串if-else语句,优化后的代码如下:
```
String innercode = null;
String[] deptCodes = {"DEPTCODE048", "DEPTCODE047", "DEPTCODE034", "DEPTCODE033", "DEPTCODE032"};
for (String deptCode : deptCodes) {
String shortName = nullStr(map.get(deptCode));
if (shortName != null) {
innercode = "select innercode from bd_staff where shortname = '" + shortName + "' and tenantId = '" + tenantId + "' and dr = 0";
break;
}
}
if (innercode == null) {
innercode = "select innercode from bd_staff where code = '0' and tenantId = '" + tenantId + "' and dr = 0";
}
```
这里首先定义了一个字符串数组deptCodes,包含了需要判断的5个部门代码。然后使用一个for循环遍历这个数组,找到第一个非空的部门代码对应的innercode并跳出循环。如果都没有找到非空的部门代码,则使用默认的innercode。这样就可以避免冗长的if-else语句,提高了代码的可读性和可维护性。
阅读全文