Json - 使用json-lib解析json字符串(火车票务返回的json串)的例子
2012-06-27 09:52
429 查看
要解析的Json字符串:
格式分析:
创建json对象对应的Java对象:
首先把整个json对象对应于java中Train对象
新建类:Train.java
在此类中有两个成员变量 Item 和 title ,因为列车班次不固定(多次),所以把Item声明为数组类型。
新建Item.java
Item类中的各个成员变量对应着json中item对象中的各个属性。
这样Json对象和Java对象的对应关系类就写好了。要保证字段,类型一致。
测试类:test.java
导入json-lib用到的所有的jar包
{"item":[{"trainCode":"K1130/K1131","startStation":"烟台","arriveStation":"郑州","startTime":"15:30","endTime":"08:33","takeTime":"17小时3分","trainGrade":"快速","mileage":"1023KM","hard-seat":"--","hard-seat-prc":"150","hard-sleeper1":"--","hard-sleeper1-prc":"256","hard-sleeper2":"--","hard-sleeper2-prc":"265","hard-sleeper3":"--","hard-sleeper3-prc":"274","soft-sleeper1":"--","soft-sleeper1-prc":"400","soft-sleeper2":"--","soft-sleeper2-prc":"417"},{"trainCode":"K1162/K1159","startStation":"烟台","arriveStation":"郑州","startTime":"09:03","endTime":"00:02","takeTime":"14小时59分","trainGrade":"快速","mileage":"899KM","hard-seat":"--","hard-seat-prc":"125","hard-sleeper1":"--","hard-sleeper1-prc":"216","hard-sleeper2":"--","hard-sleeper2-prc":"224","hard-sleeper3":"--","hard-sleeper3-prc":"231","soft-sleeper1":"--","soft-sleeper1-prc":"337","soft-sleeper2":"--","soft-sleeper2-prc":"352"}],"title":"烟台 - 郑州 共2次车:"}
格式分析:
{ "item" : "" ,"title" : "" } “item”:[{"":"","":"",...},{"":"","":"",...}...]
创建json对象对应的Java对象:
首先把整个json对象对应于java中Train对象
新建类:Train.java
public class Train { private Item[] item; private String title; public Item[] getItem() { return item; } public void setItem(Item[] item) { this.item = item; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }
在此类中有两个成员变量 Item 和 title ,因为列车班次不固定(多次),所以把Item声明为数组类型。
新建Item.java
public class Item { private String trainCode; private String startStation; private String arriveStation; private String startTime; private String endTime; private String takeTime; private String trainGrade; private String mileage; private String hard_seat; private String hard_seat_prc; private String hard_sleeper1; private String hard_sleeper1_prc; private String hard_sleeper2; private String hard_sleeper2_prc; private String hard_sleeper3; private String hard_sleeper3_prc; private String soft_sleeper1; private String soft_sleeper1_prc; private String soft_sleeper2; private String soft_sleeper2_prc; public String getTrainCode() { return trainCode; } public void setTrainCode(String trainCode) { this.trainCode = trainCode; } public String getStartStation() { return startStation; } public void setStartStation(String startStation) { this.startStation = startStation; } public String getArriveStation() { return arriveStation; } public void setArriveStation(String arriveStation) { this.arriveStation = arriveStation; } public String getStartTime() { return startTime; } public void setStartTime(String startTime) { this.startTime = startTime; } public String getEndTime() { return endTime; } public void setEndTime(String endTime) { this.endTime = endTime; } public String getTakeTime() { return takeTime; } public void setTakeTime(String takeTime) { this.takeTime = takeTime; } public String getTrainGrade() { return trainGrade; } public void setTrainGrade(String trainGrade) { this.trainGrade = trainGrade; } public String getMileage() { return mileage; } public void setMileage(String mileage) { this.mileage = mileage; } public String getHard_seat() { return hard_seat; } public void setHard_seat(String hardSeat) { hard_seat = hardSeat; } public String getHard_seat_prc() { return hard_seat_prc; } public void setHard_seat_prc(String hardSeatPrc) { hard_seat_prc = hardSeatPrc; } public String getHard_sleeper1() { return hard_sleeper1; } public void setHard_sleeper1(String hardSleeper1) { hard_sleeper1 = hardSleeper1; } public String getHard_sleeper1_prc() { return hard_sleeper1_prc; } public void setHard_sleeper1_prc(String hardSleeper1Prc) { hard_sleeper1_prc = hardSleeper1Prc; } public String getHard_sleeper2() { return hard_sleeper2; } public void setHard_sleeper2(String hardSleeper2) { hard_sleeper2 = hardSleeper2; } public String getHard_sleeper2_prc() { return hard_sleeper2_prc; } public void setHard_sleeper2_prc(String hardSleeper2Prc) { hard_sleeper2_prc = hardSleeper2Prc; } public String getHard_sleeper3() { return hard_sleeper3; } public void setHard_sleeper3(String hardSleeper3) { hard_sleeper3 = hardSleeper3; } public String getHard_sleeper3_prc() { return hard_sleeper3_prc; } public void setHard_sleeper3_prc(String hardSleeper3Prc) { hard_sleeper3_prc = hardSleeper3Prc; } public String getSoft_sleeper1() { return soft_sleeper1; } public void setSoft_sleeper1(String softSleeper1) { soft_sleeper1 = softSleeper1; } public String getSoft_sleeper1_prc() { return soft_sleeper1_prc; } public void setSoft_sleeper1_prc(String softSleeper1Prc) { soft_sleeper1_prc = softSleeper1Prc; } public String getSoft_sleeper2() { return soft_sleeper2; } public void setSoft_sleeper2(String softSleeper2) { soft_sleeper2 = softSleeper2; } public String getSoft_sleeper2_prc() { return soft_sleeper2_prc; } public void setSoft_sleeper2_prc(String softSleeper2Prc) { soft_sleeper2_prc = softSleeper2Prc; } }
Item类中的各个成员变量对应着json中item对象中的各个属性。
这样Json对象和Java对象的对应关系类就写好了。要保证字段,类型一致。
测试类:test.java
import net.sf.json.JSONObject; import com.hoo.entity.Item; import com.hoo.entity.Train; /** * @author zcshun * @see * @date 2012-6-27 上午09:56:07 */ public class test { private JSONObject jsonObject = null; private String json_yuan = "{\"item\":[{\"trainCode\":\"K1130/K1131\",\"startStation\":\"烟台\",\"arriveStation\":\"郑州\",\"startTime\":\"15:30\",\"endTime\":\"08:33\",\"takeTime\":\"17小时3分\",\"trainGrade\":\"快速\",\"mileage\":\"1023KM\",\"hard-seat\":\"--\",\"hard-seat-prc\":\"150\",\"hard-sleeper1\":\"--\",\"hard-sleeper1-prc\":\"256\",\"hard-sleeper2\":\"--\",\"hard-sleeper2-prc\":\"265\",\"hard-sleeper3\":\"--\",\"hard-sleeper3-prc\":\"274\",\"soft-sleeper1\":\"--\",\"soft-sleeper1-prc\":\"400\",\"soft-sleeper2\":\"--\",\"soft-sleeper2-prc\":\"417\"},{\"trainCode\":\"K1162/K1159\",\"startStation\":\"烟台\",\"arriveStation\":\"郑州\",\"startTime\":\"09:03\",\"endTime\":\"00:02\",\"takeTime\":\"14小时59分\",\"trainGrade\":\"快速\",\"mileage\":\"899KM\",\"hard-seat\":\"--\",\"hard-seat-prc\":\"125\",\"hard-sleeper1\":\"--\",\"hard-sleeper1-prc\":\"216\",\"hard-sleeper2\":\"--\",\"hard-sleeper2-prc\":\"224\",\"hard-sleeper3\":\"--\",\"hard-sleeper3-prc\":\"231\",\"soft-sleeper1\":\"--\",\"soft-sleeper1-prc\":\"337\",\"soft-sleeper2\":\"--\",\"soft-sleeper2-prc\":\"352\"}],\"title\":\"烟台 - 郑州 共2次车:\"}"; private String json = json_yuan.replaceAll("-", "_");//因为‘-‘为java中的关键字,不能用到变量名中,因此把所有的-替换成_。 public void readJSON2Bean() { jsonObject = JSONObject.fromObject(json); Train train = (Train) JSONObject.toBean(jsonObject, Train.class); System.out.println(train.getTitle()); Item[] item = train.getItem(); for(int i=0;i<item.length;i++){ System.out.println(item[i].getTrainCode()); System.out.println(item[i].getArriveStation()); } } public static void main(String args[]) { test t = new test(); t.readJSON2Bean(); } }
导入json-lib用到的所有的jar包
相关文章推荐
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- eval解析JSON中的注意点 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数。 2. 使用Function对象来进行返回解析。 使用eval
- 【第8篇】使用json-lib的解析和封装json例子使用
- Ajax使用一+javascript解析Ajax返回的json字符串
- JSON PHP中返回JSON数据(多个JSON通过一个大的数组组合成一个JSON字符串),在客户端解析JSON数据减轻服务端压力
- 使用JQuery遍历解析由.ashx返回的json的值
- 使用json-lib将java对象转换成json字符串
- 转:使用eval()解析JSON格式字符串应注意的问题
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- JSON解析类库之JSON-lib --- JSON-lib类库学习, 生成与解析json数据, json字符串与Java对象互转
- 使用cJSON解析JSON字符串
- Android 解析后台返回为Json数据的简单例子!!!
- Android 解析后台返回为Json数据的简单例子!!!
- 使用SpringMVC 传递JSON字符串返回415问题
- 浏览器[IE] Ajax Struts Json返回json字符串,解析不了 提示保存或下载 解决方式
- Extjs 使用fileText 文件上次后 无法解析后台返回的json问题
- 使用库org.json 和 Gson 解析 JSON格式字符串
- 使用javascript的eval函数解析json字符串,提示“not avalible”怎么办?
- RESTEasy使用json返回的例子
- 【第5篇】使用json-lib把json字符串数据转换成Collection