- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java中Json字符串直接转换为对象的方法(包括多层List集合)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
使用到的类:net.sf.json.JSONObject 。
使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-beanutils.jar,commons-httpclient.jar,commons-lang.jar,ezmorph.jar,morph-1.0.1.jar 。
下面是例子代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
// JSON转换
JSONObject jsonObj = JSONObject.fromObject(jsonStrBody);
Map<String, Class> classMap =
new
HashMap<String, Class>();
classMap.put(
"results"
, WeatherBean_Baidu_City.
class
);
classMap.put(
"index"
, WeatherBean_Baidu_City_Index.
class
);
classMap.put(
"weather_data"
, WeatherBean_Baidu_City_Weatherdata.
class
);
// 将JSON转换成WeatherBean_Baidu
WeatherBean_Baidu weather = (WeatherBean_Baidu) JSONObject.toBean(jsonObj,
WeatherBean_Baidu.
class
, classMap);
System.out.println(weather.getResults());
|
使用到的几个JAVA类代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
package
com.lenovo.conference.entity.vo;
import
java.io.Serializable;
import
java.util.List;
/**
* 天气Bean
*
* @author SHANHY
*
*/
@SuppressWarnings
(
"serial"
)
public
class
WeatherBean_Baidu
implements
Serializable {
private
String error;
//错误号
private
String status;
//状态值
private
String date;
//日期
private
List<WeatherBean_Baidu_City> results;
//城市天气预报集合(因为一次可以查询多个城市)
public
WeatherBean_Baidu() {
super
();
}
public
String getError() {
return
error;
}
public
void
setError(String error) {
this
.error = error;
}
public
String getStatus() {
return
status;
}
public
void
setStatus(String status) {
this
.status = status;
}
public
String getDate() {
return
date;
}
public
void
setDate(String date) {
this
.date = date;
}
public
List<WeatherBean_Baidu_City> getResults() {
return
results;
}
public
void
setResults(List<WeatherBean_Baidu_City> results) {
this
.results = results;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
package
com.lenovo.conference.entity.vo;
import
java.io.Serializable;
import
java.util.List;
/**
* 天气Bean
*
* @author SHANHY
*
*/
@SuppressWarnings
(
"serial"
)
public
class
WeatherBean_Baidu_City
implements
Serializable {
private
String currentCity;
//城市名称
private
String pm25;
//pm2.5值
private
List<WeatherBean_Baidu_City_Index> index;
//指数集合
private
List<WeatherBean_Baidu_City_Weatherdata> weather_data;
//几天的天气集合
public
WeatherBean_Baidu_City() {
super
();
}
public
String getCurrentCity() {
return
currentCity;
}
public
void
setCurrentCity(String currentCity) {
this
.currentCity = currentCity;
}
public
String getPm25() {
return
pm25;
}
public
void
setPm25(String pm25) {
this
.pm25 = pm25;
}
public
List<WeatherBean_Baidu_City_Index> getIndex() {
return
index;
}
public
void
setIndex(List<WeatherBean_Baidu_City_Index> index) {
this
.index = index;
}
public
List<WeatherBean_Baidu_City_Weatherdata> getWeather_data() {
return
weather_data;
}
public
void
setWeather_data(
List<WeatherBean_Baidu_City_Weatherdata> weather_data) {
this
.weather_data = weather_data;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
package
com.lenovo.conference.entity.vo;
import
java.io.Serializable;
/**
* 天气Bean
*
* @author SHANHY
*
*/
@SuppressWarnings
(
"serial"
)
public
class
WeatherBean_Baidu_City_Weatherdata
implements
Serializable {
private
String date;
// 日期
private
String dayPictureUrl;
// 白天的天气图片
private
String nightPictureUrl;
// 晚上的天气图片
private
String weather;
// 天气
private
String wind;
// 风向
private
String temperature;
// 温度
public
WeatherBean_Baidu_City_Weatherdata() {
super
();
}
public
String getDate() {
return
date;
}
public
void
setDate(String date) {
this
.date = date;
}
public
String getDayPictureUrl() {
return
dayPictureUrl;
}
public
void
setDayPictureUrl(String dayPictureUrl) {
this
.dayPictureUrl = dayPictureUrl;
}
public
String getNightPictureUrl() {
return
nightPictureUrl;
}
public
void
setNightPictureUrl(String nightPictureUrl) {
this
.nightPictureUrl = nightPictureUrl;
}
public
String getWeather() {
return
weather;
}
public
void
setWeather(String weather) {
this
.weather = weather;
}
public
String getWind() {
return
wind;
}
public
void
setWind(String wind) {
this
.wind = wind;
}
public
String getTemperature() {
return
temperature;
}
public
void
setTemperature(String temperature) {
this
.temperature = temperature;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
package
com.lenovo.conference.entity.vo;
import
java.io.Serializable;
/**
* 天气Bean
*
* @author SHANHY
*
*/
@SuppressWarnings
(
"serial"
)
public
class
WeatherBean_Baidu_City_Index
implements
Serializable {
private
String title;
//标题
private
String zs;
//舒适度
private
String tipt;
//指数简述
private
String des;
//指数概述
public
WeatherBean_Baidu_City_Index() {
super
();
}
public
String getTitle() {
return
title;
}
public
void
setTitle(String title) {
this
.title = title;
}
public
String getZs() {
return
zs;
}
public
void
setZs(String zs) {
this
.zs = zs;
}
public
String getTipt() {
return
tipt;
}
public
void
setTipt(String tipt) {
this
.tipt = tipt;
}
public
String getDes() {
return
des;
}
public
void
setDes(String des) {
this
.des = des;
}
}
|
例子中解析所对应的JSON字符串 。
1
|
{
"error"
:
0
,
"status"
:
"success"
,
"date"
:
"2015-01-15"
,
"results"
:[{
"currentCity"
:
"南京"
,
"pm25"
:
"83"
,
"index"
:[{
"title"
:
"穿衣"
,
"zs"
:
"较冷"
,
"tipt"
:
"穿衣指数"
,
"des"
:
"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
},{
"title"
:
"洗车"
,
"zs"
:
"较适宜"
,
"tipt"
:
"洗车指数"
,
"des"
:
"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
},{
"title"
:
"旅游"
,
"zs"
:
"适宜"
,
"tipt"
:
"旅游指数"
,
"des"
:
"天气较好,气温稍低,会感觉稍微有点凉,不过也是个好天气哦。适宜旅游,可不要错过机会呦!"
},{
"title"
:
"感冒"
,
"zs"
:
"少发"
,
"tipt"
:
"感冒指数"
,
"des"
:
"各项气象条件适宜,无明显降温过程,发生感冒机率较低。"
},{
"title"
:
"运动"
,
"zs"
:
"较不宜"
,
"tipt"
:
"运动指数"
,
"des"
:
"阴天,且天气寒冷,推荐您在室内进行低强度运动;若坚持户外运动,请选择合适的运动并注意保暖。"
},{
"title"
:
"紫外线强度"
,
"zs"
:
"最弱"
,
"tipt"
:
"紫外线强度指数"
,
"des"
:
"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。"
}],
"weather_data"
:[{
"date"
:
"周四 01月15日 (实时:6℃)"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/yin.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"阴转多云"
,
"wind"
:
"北风微风"
,
"temperature"
:
"8 ~ 4℃"
},{
"date"
:
"周五"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/duoyun.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/qing.png"
,
"weather"
:
"多云转晴"
,
"wind"
:
"西北风3-4级"
,
"temperature"
:
"12 ~ 0℃"
},{
"date"
:
"周六"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/qing.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"晴转多云"
,
"wind"
:
"东北风3-4级"
,
"temperature"
:
"8 ~ 0℃"
},{
"date"
:
"周日"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/qing.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/qing.png"
,
"weather"
:
"晴"
,
"wind"
:
"西风微风"
,
"temperature"
:
"10 ~ -1℃"
}]},{
"currentCity"
:
"徐州"
,
"pm25"
:
"154"
,
"index"
:[{
"title"
:
"穿衣"
,
"zs"
:
"较冷"
,
"tipt"
:
"穿衣指数"
,
"des"
:
"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
},{
"title"
:
"洗车"
,
"zs"
:
"较适宜"
,
"tipt"
:
"洗车指数"
,
"des"
:
"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"
},{
"title"
:
"旅游"
,
"zs"
:
"适宜"
,
"tipt"
:
"旅游指数"
,
"des"
:
"天气较好,但丝毫不会影响您出行的心情。温度适宜又有微风相伴,适宜旅游。"
},{
"title"
:
"感冒"
,
"zs"
:
"较易发"
,
"tipt"
:
"感冒指数"
,
"des"
:
"天气较凉,较易发生感冒,请适当增加衣服。体质较弱的朋友尤其应该注意防护。"
},{
"title"
:
"运动"
,
"zs"
:
"较不宜"
,
"tipt"
:
"运动指数"
,
"des"
:
"天气较好,但考虑天气寒冷,推荐您进行各种室内运动,若在户外运动请注意保暖并做好准备活动。"
},{
"title"
:
"紫外线强度"
,
"zs"
:
"最弱"
,
"tipt"
:
"紫外线强度指数"
,
"des"
:
"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。"
}],
"weather_data"
:[{
"date"
:
"周四 01月15日 (实时:6℃)"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/duoyun.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"多云"
,
"wind"
:
"南风微风"
,
"temperature"
:
"10 ~ 3℃"
},{
"date"
:
"周五"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/duoyun.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"多云"
,
"wind"
:
"北风3-4级"
,
"temperature"
:
"11 ~ -4℃"
},{
"date"
:
"周六"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/duoyun.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"多云"
,
"wind"
:
"东风微风"
,
"temperature"
:
"6 ~ -4℃"
},{
"date"
:
"周日"
,
"dayPictureUrl"
:
"http://api.map.baidu.com/images/weather/day/duoyun.png"
,
"nightPictureUrl"
:
"http://api.map.baidu.com/images/weather/night/duoyun.png"
,
"weather"
:
"多云"
,
"wind"
:
"西风3-4级"
,
"temperature"
:
"11 ~ -1℃"
}]}]}
|
以上这篇Java中Json字符串直接转换为对象的方法(包括多层List集合)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.
最后此篇关于Java中Json字符串直接转换为对象的方法(包括多层List集合)的文章就讲到这里了,如果你想了解更多关于Java中Json字符串直接转换为对象的方法(包括多层List集合)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的一位教授给了我们一些考试练习题,其中一个问题类似于下面(伪代码): a.setColor(blue); b.setColor(red); a = b; b.setColor(purple); b
我似乎经常使用这个测试 if( object && object !== "null" && object !== "undefined" ){ doSomething(); } 在对象上,我
C# Object/object 是值类型还是引用类型? 我检查过它们可以保留引用,但是这个引用不能用于更改对象。 using System; class MyClass { public s
我在通过 AJAX 发送 json 时遇到问题。 var data = [{"name": "Will", "surname": "Smith", "age": "40"},{"name": "Wil
当我尝试访问我的 View 中的对象 {{result}} 时(我从 Express js 服务器发送该对象),它只显示 [object][object]有谁知道如何获取 JSON 格式的值吗? 这是
我有不同类型的数据(可能是字符串、整数......)。这是一个简单的例子: public static void main(String[] args) { before("one"); }
嗨,我是 json 和 javascript 的新手。 我在这个网站找到了使用json数据作为表格的方法。 我很好奇为什么当我尝试使用 json 数据作为表时,我得到 [Object,Object]
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我听别人说 null == object 比 object == null check 例如: void m1(Object obj ) { if(null == obj) // Is thi
Match 对象 提供了对正则表达式匹配的只读属性的访问。 说明 Match 对象只能通过 RegExp 对象的 Execute 方法来创建,该方法实际上返回了 Match 对象的集合。所有的
Class 对象 使用 Class 语句创建的对象。提供了对类的各种事件的访问。 说明 不允许显式地将一个变量声明为 Class 类型。在 VBScript 的上下文中,“类对象”一词指的是用
Folder 对象 提供对文件夹所有属性的访问。 说明 以下代码举例说明如何获得 Folder 对象并查看它的属性: Function ShowDateCreated(f
File 对象 提供对文件的所有属性的访问。 说明 以下代码举例说明如何获得一个 File 对象并查看它的属性: Function ShowDateCreated(fil
Drive 对象 提供对磁盘驱动器或网络共享的属性的访问。 说明 以下代码举例说明如何使用 Drive 对象访问驱动器的属性: Function ShowFreeSpac
FileSystemObject 对象 提供对计算机文件系统的访问。 说明 以下代码举例说明如何使用 FileSystemObject 对象返回一个 TextStream 对象,此对象可以被读
我是 javascript OOP 的新手,我认为这是一个相对基本的问题,但我无法通过搜索网络找到任何帮助。我是否遗漏了什么,或者我只是以错误的方式解决了这个问题? 这是我的示例代码: functio
我可以很容易地创造出很多不同的对象。例如像这样: var myObject = { myFunction: function () { return ""; } };
function Person(fname, lname) { this.fname = fname, this.lname = lname, this.getName = function()
任何人都可以向我解释为什么下面的代码给出 (object, Object) 吗? (console.log(dope) 给出了它应该的内容,但在 JSON.stringify 和 JSON.parse
我正在尝试完成散点图 exercise来自免费代码营。然而,我现在只自己学习了 d3 几个小时,在遵循 lynda.com 的教程后,我一直在尝试确定如何在工具提示中显示特定数据。 This code
我是一名优秀的程序员,十分优秀!