1. 程式人生 > 其它 >Python爬取final fantasy XIVWiki 中的工匠配方資料

Python爬取final fantasy XIVWiki 中的工匠配方資料

FastJson

  • fastjson.jar是阿里開發的一款專門用於Java開發的包,可以方便的實現json物件與JavaBean物件的轉換,實現JavaBean物件與json字串的轉換,實現json物件與json字串的轉換。實現json的轉換方法很多,最後的實現結果都是一樣的。

    fastjson 的 pom依賴!

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.60</version>
</dependency>

JSONObject 代表 json 物件

  • JSONObject實現了Map介面, 猜想 JSONObject底層操作是由Map實現的。
  • JSONObject對應json物件,通過各種形式的get()方法可以獲取json物件中的資料,也可利用諸如size(),isEmpty()等方法獲取”鍵:值”對的個數和判斷是否為空。其本質是通過實現Map介面並呼叫介面中的方法完成的。

JSONArray 代表 json 物件陣列

  • 內部是有List介面中的方法來完成操作的。

JSON代表 JSONObject和JSONArray的轉化

  • JSON類原始碼分析與使用
  • 仔細觀察這些方法,主要是實現json物件,json物件陣列,javabean物件,json字串之間的相互轉化。

程式碼測試,我們新建一個FastJsonDemo 類

@RestController
public class FastJsonDemo {
    @RequestMapping(value = "/j1")
    public void test(){
    //建立一個物件
        User user1 = new User("秦1號", 3, "男");
        User user2 = new User("秦2號", 3, "男");
        User user3 = new User("秦3號", 3, "男");
        User user4 = new User("秦4號", 3, "男");
        List<User> list = new ArrayList<User>();
        list.add(user1);
        list.add(user2);
        list.add(user3);
        list.add(user4);
        System.out.println("*******Java物件 轉 JSON字串*******");
        String str1 = JSON.toJSONString(list);
        System.out.println("JSON.toJSONString(list)**>"+str1);
        String str2 = JSON.toJSONString(user1);
        System.out.println("JSON.toJSONString(user1)**>"+str2);
        System.out.println("\n****** JSON字串 轉 Java物件*******");
        User jp_user1=JSON.parseObject(str2,User.class);
        System.out.println("JSON.parseObject(str2,User.class)**>"+jp_user1);
        System.out.println("\n****** Java物件 轉 JSON物件 ******");
        JSONObject jsonObject1 = (JSONObject) JSON.toJSON(user2);
        System.out.println("(JSONObject) JSON.toJSON(user2)**>"+jsonObject1.getString("name"));
        System.out.println("\n****** JSON物件 轉 Java物件 ******");
        User to_java_user = JSON.toJavaObject(jsonObject1, User.class);
        System.out.println("JSON.toJavaObject(jsonObject1, User.class)**>"+to_java_user);
    }
}

這種工具類,我們只需要掌握使用就好了,在使用的時候在根據具體的業務去找對應的實現。和以前的commons-io那種工具包一樣,拿來用就好了!