问题描述
{
"company1": {
"departmentId": "12","departmentName": "abc"
},"company2": {
"departmentId": "34","departmentName": "xyz"
}
}
Bean - Department.class
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnkNown = true)
public class Department {
private String departmentId;
private String departmentName;
}
还有,另一个 Bean - DepartmentConfig.class
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnkNown = true)
public class DepartmentConfig {
private Map<String,Department> departments;
}
我写的代码的目的是读取json文件并翻译成Java Map,以便稍后我可以根据companyId查找departmentId
import com.fasterxml.jackson.jr.ob.JSON;
...
final String configValue = new String(Files.readAllBytes('json_file_path')
Map<String,Department> companyToDepartmentMapping = JSON.std.beanFrom(DepartmentConfig.class,configValue).getDepartments();
...
这不起作用。 companyToDepartmentMapping 值为“null”。但是,如果我的 json 中有关键的“部门”,那么它就可以工作
{
"departments": {
"company1": {
"departmentId": "12","departmentName": "abc"
},"company2": {
"departmentId": "34","departmentName": "xyz"
}
}
}
String departmentid = companyToDepartmentMapping.get("company1").getDepartmentId()
我该怎么做?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)