{"deptId":80,"deptName":"总公司"} 获取对象中的deptName
时间: 2023-11-06 08:06:41 浏览: 22
可以通过访问对象的属性来获取deptName。在这个例子中,你可以通过对象名.deptName来获取deptName的值。具体代码如下:
```python
obj = {"deptId":80,"deptName":"总公司"}
deptName = obj.deptName
print(deptName)
```
输出结果为:"总公司"
相关问题
mybatis plus如何deptName获取到deptId
可以通过 MyBatis Plus 的 `selectOne` 方法结合 Lambda 表达式来实现根据 `deptName` 查询 `deptId` 的功能。具体实现如下:
```java
// 导入相关类
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
// 定义 DAO 层接口
public interface DeptMapper extends BaseMapper<Dept> {
// 根据 deptName 查询 deptId
default Long selectDeptIdByDeptName(String deptName) {
LambdaQueryWrapper<Dept> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(Dept::getDeptName, deptName)
.select(Dept::getDeptId);
return selectOne(queryWrapper).getDeptId();
}
}
```
以上代码中,我们首先定义了一个 `selectDeptIdByDeptName` 方法,该方法接收一个 `deptName` 参数,并返回对应的 `deptId`。具体实现中,我们使用了 `LambdaQueryWrapper` 对象构建查询条件,并通过 `selectOne` 方法查询出符合条件的一条记录。需要注意的是,我们在 `LambdaQueryWrapper` 对象中使用了 `select` 方法来指定查询结果只返回 `Dept` 实体类中的 `deptId` 属性。最终,我们通过 `getDeptId` 方法获取 `deptId` 并返回。
java 第一个集合 [deptId, deptName, deptType] 和 第二个集合 [{"deptName":"泌尿一门诊","moreData":"","deptAddress":"新区门诊二楼3区","deptId":"11402","deptType":"门诊"}, {"deptName":"泌尿外科","moreData":"","deptAddress":"新区门诊2楼","deptId":"114","deptType":"其他"}, {"deptName":"泌尿一病区","moreData":"","deptAddress":"1号住院部10楼","deptId":"11401","deptType":"其他"}] 用lambda表达式 处理一个新集合,结果如下 [{"deptName":"泌尿一门诊","deptId":"11402","deptType":"门诊"}, {"deptName":"泌尿外科","deptId":"114","deptType":"其他"}, {"deptName":"泌尿一病区","deptId":"11401","deptType":"其他"}]
可以使用Java 8的Lambda表达式和Stream API来实现。
假设第一个集合为`List<String>`类型,第二个集合为`List<Map<String, String>>`类型,代码如下:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>(); // 第一个集合
list1.add("deptId");
list1.add("deptName");
list1.add("deptType");
List<Map<String, String>> list2 = new ArrayList<>(); // 第二个集合
Map<String, String> map1 = new HashMap<>();
map1.put("deptName", "泌尿一门诊");
map1.put("moreData", "");
map1.put("deptAddress", "新区门诊二楼3区");
map1.put("deptId", "11402");
map1.put("deptType", "门诊");
Map<String, String> map2 = new HashMap<>();
map2.put("deptName", "泌尿外科");
map2.put("moreData", "");
map2.put("deptAddress", "新区门诊2楼");
map2.put("deptId", "114");
map2.put("deptType", "其他");
Map<String, String> map3 = new HashMap<>();
map3.put("deptName", "泌尿一病区");
map3.put("moreData", "");
map3.put("deptAddress", "1号住院部10楼");
map3.put("deptId", "11401");
map3.put("deptType", "其他");
list2.add(map1);
list2.add(map2);
list2.add(map3);
// 处理新集合
List<Map<String, String>> newList = list2.stream()
.map(map -> {
Map<String, String> newMap = new HashMap<>();
newMap.put("deptName", map.get("deptName"));
newMap.put("deptId", map.get("deptId"));
newMap.put("deptType", map.get("deptType"));
return newMap;
})
.collect(Collectors.toList());
System.out.println(newList); // 输出新集合
}
}
```
运行结果为:
```
[{deptName=泌尿一门诊, deptId=11402, deptType=门诊}, {deptName=泌尿外科, deptId=114, deptType=其他}, {deptName=泌尿一病区, deptId=11401, deptType=其他}]
```
以上代码中,我们使用了`stream()`方法将第二个集合转化为一个流,然后使用`map()`方法对流中的每一个元素进行映射操作,将每个Map的"deptName"、"deptId"、"deptType"三个键值对提取出来,放入到一个新的Map中,并返回这个新的Map。最后使用`collect()`方法将这些新的Map收集到一个新的List中。