81,094
社区成员
发帖
与我相关
我的任务
分享
class Period {
Region startTime;
Region endTime;
private class Region {
String l;
String r;
}
}
JSONObject unitsJsonObject = JSONObject.fromObject(unitsMsg);//msg为接收到的json字符串
Times times = (Times)JSONObject.toBean(unitsJsonObject, Times.class); //这个就是解析获得的对象
import java.io.IOException;
import java.util.List;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.type.JavaType;
public class JacksonTest {
public static void main(String[] args) throws IOException {
String s = "[{\"startTime\":{\"l\":\"08:30\",\"r\":\"09:00\"},\"endTime\":{\"l\":\"11:30\",\"r\":\"12:00\"}},{\"startTime\":{\"l\":\"14:00\",\"r\":\"14:30\"},\"endTime\": {\"l\":\"17:30\",\"r\":\"18:00\"}}]";
ObjectMapper mapper = new ObjectMapper();
JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, Period.class);
List<Period> list = mapper.readValue(s, javaType);
System.out.println(list);
String t = new ObjectMapper().enable(SerializationConfig.Feature.INDENT_OUTPUT).writeValueAsString(list);
System.out.println(t);
}
}
class Period {
public Region startTime;
public Region endTime;
public static class Region {
public String l;
public String r;
@Override
public String toString() {
return String.format("Region [l=%s, r=%s]", l, r);
}
}
@Override
public String toString() {
return String.format("Period [startTime=%s, endTime=%s]", startTime, endTime);
}
}
输出如下:
[Period [startTime=Region [l=08:30, r=09:00], endTime=Region [l=11:30, r=12:00]], Period [startTime=Region [l=14:00, r=14:30], endTime=Region [l=17:30, r=18:00]]]
[ {
"startTime" : {
"l" : "08:30",
"r" : "09:00"
},
"endTime" : {
"l" : "11:30",
"r" : "12:00"
}
}, {
"startTime" : {
"l" : "14:00",
"r" : "14:30"
},
"endTime" : {
"l" : "17:30",
"r" : "18:00"
}
} ]
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JSON {
public static void main(String[] args) {
String s = "[{\"startTime\": {\"l\": \"08:30\", \"r\": \"09:00\"},\"endTime\": {\"l\": \"11:30\", \"r\": \"12:00\"}},{\"startTime\": {\"l\": \"14:00\", \"r\": \"14:30\"},\"endTime\": {\"l\": \"17:30\", \"r\": \"18:00\"}}]";
JSONArray ja = JSONArray.fromObject(s);
for (int i = 0; i <ja.size(); i++) {
JSONObject jo = JSONObject.fromObject(ja.get(i));
Been startTimeBeen = (Been)JSONObject.toBean(jo.getJSONObject("startTime"), Been.class);
Been endTimeBeen = (Been)JSONObject.toBean(jo.getJSONObject("endTime"), Been.class);
System.out.println(startTimeBeen.l + startTimeBeen.r + endTimeBeen.l + endTimeBeen.r);
}
}
}
public class Been {
String l;
String r;
public String getL() {
return l;
}
public void setL(String l) {
this.l = l;
}
public String getR() {
return r;
}
public void setR(String r) {
this.r = r;
}
}
打印
08:3009:0011:3012:00
14:0014:3017:3018:00
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JSON {
public static void main(String[] args) {
String s = "[{\"startTime\": {\"l\": \"08:30\", \"r\": \"09:00\"},\"endTime\": {\"l\": \"11:30\", \"r\": \"12:00\"}},{\"startTime\": {\"l\": \"14:00\", \"r\": \"14:30\"},\"endTime\": {\"l\": \"17:30\", \"r\": \"18:00\"}}]";
JSONArray ja = JSONArray.fromObject(s);
for (int i = 0; i <ja.size(); i++) {
JSONObject jo = JSONObject.fromObject(ja.get(i));
JSONObject startTime = jo.getJSONObject("startTime");
JSONObject endTime = jo.getJSONObject("endTime");
System.out.println("startTime.l=" + startTime.getString("l") + "startTime.r=" + startTime.getString("r") + "endTime.l=" + endTime.getString("l") + "endTime.r=" + endTime.getString("r"));
}
}
}
//打印
startTime.l=08:30startTime.r=09:00 endTime.l=11:30endTime.r=12:00
startTime.l=14:00startTime.r=14:30 endTime.l=17:30endTime.r=18:00