java之json、字符串转换
来源:互联网 发布:对流取暖器 知乎 编辑:程序博客网 时间:2024/06/03 21:32
{ "jdytrip_products_list_response": { "products": { "product": [ { "p_id": 102771, "p_name": "【自由行】【冰与火的体验】", "p_sname": "因为爱情主题酒店1晚+大明山滑雪门票+众安氡温泉门票+双早", "p_num": "JDYS0001", "p_type": 10, "p_key": "", "p_type_name": "周边短线", "buslist": "[20170413,20170414,20170415,20170416,20170420,20170421,20170422,20170423,20170427,20170428,20170429,20170430]", "p_days": "5", "p_cover": "http:\\/\\/img400.jdytrip.cn\\/2017\\/0458eb59d2f112f.BMP", "start_place": "[]", "business": "测试", "business_id": 125416, "ticket_detail_min": "" } ] }, "total": 71 }}
这是借口调用的返回结果,需要转换成自己需要的类型
public abstract class RopResponse implements Serializable { private static final long serialVersionUID = 5014379068811962022L; @ApiField("code") private String errorCode; @ApiField("msg") private String msg; @ApiField("sub_code") private String subCode; @ApiField("sub_msg") private String subMsg; private String body; private Map<String, String> params; ......}
public class JdytripProductsListResponse extends RopResponse { private static final long serialVersionUID = 2491528651932375471L; @ApiField("total") private String total; @ApiField("products") private Products products; ...... }
这里使用的是阿里的fastjson类,有点麻烦
...... JdytripProductsListResponse response = ropClient.execute(request, session); if (response != null && response.isSuccess()) { String responseBody = response.getBody(); JSONObject jsonObject = JSONObject.parseObject(responseBody); Set<Map.Entry<String, Object>> entries = jsonObject.entrySet(); for (Map.Entry<String,Object> map : entries) { Object value = map.getValue(); JSONObject jsonObject1 = JSONObject.parseObject(value + ""); JSONObject productsJsonObj = jsonObject1.getJSONObject("products"); JSONArray productJsonObj = productsJsonObj.getJSONArray("product"); List<Object> objects = productJsonObj.subList(0, productJsonObj.size() - 1); for (Object obj : objects) { Map<String, Object> map2 = (Map<String, Object>) obj; Product product = new Product(); product.setDestCity(map2.get("arrive_place")+""); ...... productsList.add(product); } } return productsList; } ......
{ "jdytrip_organization_list_response": { "organizations": { "organization": [ { "org_id": "2613", "org_pid": "0", "org_bh": "qd001", "org_name": "杭州趣搭网络有限公司", "org_fax": "", "org_service_tel": "18667001578", "org_sname": "趣搭", "org_addr": "杭州西湖区文三路90号", "org_legal": "陈敬良", "org_tel": "18667001578", "org_mob": "18667001578", "org_web": "", "org_province": "浙江", "org_city": "杭州", "org_county": "西湖区", "org_type": "供应商", "org_logo": "" }, { "org_id": "2612", "org_pid": "0", "org_bh": "JDY002612", "org_name": "测试供应商R", "org_fax": "", "org_service_tel": "", "org_sname": "西湖", "org_addr": "西湖", "org_legal": "晓雨", "org_tel": "", "org_mob": "18686765638", "org_web": "", "org_province": "浙江", "org_city": "杭州", "org_county": "江干区", "org_type": "供应商", "org_logo": "" } ] }, "total": "73" }}
这里使用的是net.sf.json
包的类,更简单些
......String body = response.getBody(); net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(body); Object jdytrip_organization_list_response = jsonObject.get("jdytrip_organization_list_response"); net.sf.json.JSONObject organizationsJson = net.sf.json.JSONObject.fromObject(jdytrip_organization_list_response); Object organizations = organizationsJson.get("organizations"); net.sf.json.JSONObject organizationJson = net.sf.json.JSONObject.fromObject(organizations); Object organization = organizationJson.get("organization"); List<Organizations> organizationsList = (List<Organizations>) JSON.parseArray(organization.toString(), response.getOrganizations().getClass()); ......
0 0
- java之json、字符串转换
- Java之Json和数组、字符串、对象之间的转换
- java json字符串转换成json对象
- Java之使用json-lib进行对象与json字符串之间的转换
- Java之使用json-lib进行对象与json字符串之间的转换
- Java之使用json-lib进行对象与json字符串之间的转换
- Java Json转换之JsonBinder
- Java Json转换之JsonBinder
- Lua与json字符串转换之UTF8
- JS之字符串与JSON转换
- 将JAVA对象转换成JSON字符串
- 将JAVA对象转换成JSON字符串
- JSON字符串转换JAVA对象例子。
- JSON 字符串 与 java 对象的转换
- JSON 字符串 与 java 对象的转换
- JSON 字符串 与 java 对象的转换
- json字符串与java对象互相转换
- JSON 字符串 与 java 对象的转换
- 八、Identity Card
- 匿名函数
- ES6 Promise 简介
- 题目1056:最大公约数
- 浅析SaaS超市
- java之json、字符串转换
- Android框架系列
- Linux中的ln-创建链接
- ajaxfileupload -- 一款不错的AJAX文件上传插件
- 给BigDecimal设置小数点位数
- 各种查找、排序的时间复杂度
- jQuery.extend 函数详解
- 在OpenGL中绘制圆
- Python3导入CSV文件(跟Python2有些许的不同)