Json String到具有动态键名的Java对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Json String到具有动态键名的Java对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1658字,纯文字阅读大概需要3分钟。
内容图文
![Json String到具有动态键名的Java对象](/upload/InfoBanner/zyjiaocheng/693/4b1719c5d7ff4b229f70767a0b510c0f.jpg)
我正在尝试将此结构化的json字符串解析为Java Object,但是每次尝试都失败了.
{
"message": "Test Message",
"status": true,
"users": {
"user_xy": [
{
"time": "2016-08-25 19:01:20.944614158 +0300 EEST",
"age": 24,
"props": {
"pr1": 197,
"pr2": 0.75,
"pr3": 0.14,
"pr4": -0.97
}
}
],
"user_zt": [
{
"time": "2016-08-25 17:08:36.920891187 +0300 EEST",
"age": 29,
"props": {
"pr1": 1.2332131860505051,
"pr2": -0.6628148829634317,
"pr3": -0.11622442112006928
}
}
]
}
}
props字段可以包含1个属性或6个属性,这取决于db记录.用户名部分也会动态变化.
我可以使用Jackson Lib成功解析此结构化字符串吗?
解决方法:
您必须创建像波纹管这样的calss结构才能将字符串映射到java对象.
为详细信息创建一个类
public class Details {
private String message;
private String status;
private Map<String, List<UserDetails>> users = new HashMap<String, List<UserDetails>>();
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Map<String, List<UserDetails>> getUsers() {
return users;
}
public void setUsers(Map<String, List<UserDetails>> users) {
this.users = users;
}
}
创建像下面这样的UserDetails类.
public class UserDetails {
private String time;
private String age;
private Map<String, String> prop = new HashMap<String, String>();
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Map<String, String> getProp() {
return prop;
}
public void setProp(Map<String, String> prop) {
this.prop = prop;
}
}
现在,您可以使用Details类映射字符串.
希望这会有所帮助..
内容总结
以上是互联网集市为您收集整理的Json String到具有动态键名的Java对象全部内容,希望文章能够帮你解决Json String到具有动态键名的Java对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。