JSON 知识
1 Json 解析
1 使用迭代器(Iterator ) if(entityMap.get("bankData") != null && !"[]".equals(String.valueOf(entityMap.get("bankData")))){ JSONArray json = JSONArray.parseArray((String)entityMap.get("bankData")); Iterator it = json.iterator(); while (it.hasNext()) { JSONObject jsonObj = JSONObject.parseObject(it.next().toString()); if( ChdJson.validateJSON(String.valueOf(jsonObj.get("bank_no")))){ Map<String,Object> bankMap = new HashMap<String,Object>(); bankMap.put("bank_no", jsonObj.get("bank_no")); bankMap.put("bank_name", jsonObj.get("bank_name")); bankList.add(bankMap); } } } 2 List数组的json解析 public static List getPersons(String key, String jsonString) { List list = new ArrayList(); try { JSONObject jsonObject = new JSONObject(jsonString); // 返回json的数组 JSONArray jsonArray = jsonObject.getJSONArray(key); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject2 = jsonArray.getJSONObject(i); Person person = new Person(); person.setId(jsonObject2.getInt("id")); person.setName(jsonObject2.getString("name")); person.setAddress(jsonObject2.getString("address")); list.add(person); } } catch (Exception e) { // TODO: handle exception } return list; }
2 String 转JSON
String result = "{\"msg\":\""+invMsg.substring(0, invMsg.length()-1).toString()+"库存物资不足!\",\"state\":\"false\"}"
JSONObject jsonObj = (JSONObject) JSON.parse(result);
String state = jsonObj.get("state") //false
3 XML与JSON互转
架包引用: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> 代码: import net.sf.json.JSONSerializer; import net.sf.json.xml.XMLSerializer; import java.util.Map; /** * Copyright (C), 2011-2018 {company} * FileName: com.mina.utils.XmlJsonUtils.java * Author: xxx * Email: xxx * Date: 2018/6/15 23:36 * Description: * History: * <Author> <Time> <version> <desc> * {xxx} 23:36 1.0 Create */ public class XmlJsonUtils { /** * JSON(数组)字符串转换成XML字符串 * (必须引入 xom-1.1.jar) * @param jsonString * @return */ public static String json2xml(String jsonString) { XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setTypeHintsEnabled(false); // 去除 节点中type类型 String xml = xmlSerializer.write(JSONSerializer.toJSON(jsonString)); xml = xml.replace("<o>", "").replace("</o>", ""); xml = xml.replaceAll("\r\n", "").concat("\r\n"); return xml; } /** * xml 转 json * @param xmlString xml字符串 * @return */ public static String xml2json(String xmlString) { Map<String, Object> map = XmlMapUtils.xmlToMap(xmlString); String json = JsonToMap.mapToJson(map); return json; } /** * map转xml * @param xmlString xml字符串 * @return */ public static String json2xml(String jsonString) { Map<String, Object> obj = new HashMapMap<String, Object>; String xml = XMLUtil.jsonToXml(Json.toJson(obj), "PriceData"); return xml ; } }

浙公网安备 33010602011771号