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 ;
    }


}

 

posted @ 2022-05-18 10:00  小牛哞哞哞  阅读(46)  评论(0)    收藏  举报