즐겨 찾기 폴 더 분석

즐겨 찾기
      브 라 우 저 IE, FireFox, Chrome.
      1. 내 기 계 를 예 로 들 면:
         IE:C:\Usersame\Favorites
           FireFox:C:\Usersame\AppData\Roaming\Mozilla\Firefox\Profiles\dwcs7zhn.default\bookmarkbackups
        Chrome: C:\Usersame\AppData\Local\Google\Chrome\User Data\Default\Bookmarks
      2. IE 의 즐겨 찾기 폴 더 형식
    
BASEURL=http://pdos.csail.mit.edu/6.828/2014/schedule.html

      3. 불 여우의 즐겨 찾기 형식
    lz4        
   json  
 {
                    "guid": "T7Cp8QYVoYVQ",
                    "title": "Word Ladder II | LeetCode OJ",
                    "index": 0,
                    "dateAdded": 1416066216229000,
                    "lastModified": 1416066216236000,
                    "id": 39,
                    "charset": "UTF-8",
                    "iconuri": "https://oj.leetcode.com/favicon-192x192.png",
                    "annos": [
                        {
                            "name": "bookmarkProperties/description",
                            "flags": 0,
                            "expires": 4,
                            "value": ""
                        }
                    ],
                    "type": "text/x-moz-place",
                    "uri": "https://oj.leetcode.com/problems/word-ladder-ii/"
                }

     4. chrome 형식 (파일 읽 기 주의 코드)
JSON 
 
"other": {
         "children": [  ],
         "date_added": "13066238121387582",
         "date_modified": "0",
         "id": "2",
         "name": "    ",
         "type": "folder"
      },

2. json 의 데이터 형식
    유형 에서 우 리 는 배열, 대상, 용기 로 나 눌 수 있다.
    데이터 형식 과 JSon 형식
 
해석      3.1 IE 해석
/**
     * IE            
     */
    public String parseIEUrl(String content){
          //IE       	
    	String ieURL="";
    	if(null==content||"".equals(content))
    		return ieURL;
    	
    	//  BASEURL=http://www.yinwang.org/
    	int position=content.indexOf("BASEURL");
    	if(-1==position){
    		return ieURL;
    	}
    	int endPosition=content.substring(position).indexOf("\r
"); if(-1==endPosition){ return ieURL; } return content.substring(position+8,position+endPosition); }

    3.2 FireFox 해석
 내 보 낸 json 명문 파일 을 분석 하려 면 chrome 분석 을 참조 하 십시오.
    3.3Chrome 분석
        이 파일 은 utf 8 의 - > 중국어 난 코드 로 인해 json 이 해석 할 때 이상 합 니 다.
/**
     * Chrome      
     * Chrome      json   ,
     * roots->   ->children
     */
    public Map<String,String> parseChromeUrl(String content){
    	if(null==content)
    		return null;
        Map<String,String> saveUrlMap=new HashMap<String,String>();
        JSONObject jo=JSON.parseObject(content);
        Set<Entry<String, Object>> set=((JSONObject) jo.get("roots")).entrySet();
        for(Entry<String,Object>entry :set){
        	saveUrlMap.putAll(findAllMap(entry.getValue()));
        }
    	return saveUrlMap;
    }
    /**
     *   Chrome     
     */
    public Map<String,String> findAllMap(Object objMsg){
    	Map<String,String>resultMap=new HashMap<String,String>();
    	String type=((JSONObject)objMsg).getString("type");
    	if("folder".equals(type)){
    	  JSONArray ja=((JSONObject)objMsg).getJSONArray("children");
    	  for(int i=0;i<ja.size();i++){
    		  resultMap.putAll(findAllMap(ja.get(i)));
    	  }  
    	}else if("url".equals(type)){
    	  resultMap.put(((JSONObject)objMsg).getString("name"), ((JSONObject)objMsg).getString("url"));
    	}
    	return resultMap;
    }

좋은 웹페이지 즐겨찾기