zoukankan      html  css  js  c++  java
  • Java读取本地json文件

    {
      "RECORDS": [
        {
          "movieId": "1",
          "name": "肖申克的救赎 The Shawshank Redemption",
          "director": "弗兰克·德拉邦特",
          "scenarist": "弗兰克·德拉邦特 / 斯蒂芬·金",
          "actors": "蒂姆·罗宾斯 / 摩根·弗里曼 / 鲍勃·冈顿 / 威廉姆·赛德勒 / 克兰西·布朗 / 吉尔·贝罗斯 / 马克·罗斯顿 / 詹姆斯·惠特摩 / 杰弗里·德曼 / 拉里·布兰登伯格 / 尼尔·吉恩托利 / 布赖恩·利比 / 大卫·普罗瓦尔 / 约瑟夫·劳格诺 / 祖德·塞克利拉 / 保罗·麦克兰尼 / 芮妮·布莱恩 / 阿方索·弗里曼 / V·J·福斯特 / 弗兰克·梅德拉诺 / 马克·迈尔斯 / 尼尔·萨默斯 / 耐德·巴拉米 / 布赖恩·戴拉特 / 唐·麦克马纳斯",
          "type": "剧情 犯罪",
          "ratingNum": "9.7",
          "tags": "经典 励志 信念 自由 人性 人生 美国 剧情"
        },
        {
          "movieId": "2",
          "name": "霸王别姬",
          "director": "陈凯歌",
          "scenarist": "芦苇 / 李碧华",
          "actors": "张国荣 / 张丰毅 / 巩俐 / 葛优 / 英达 / 蒋雯丽 / 吴大维 / 吕齐 / 雷汉 / 尹治 / 马明威 / 费振翔 / 智一桐 / 李春 / 赵海龙 / 李丹 / 童弟 / 沈慧芬 / 黄斐",
          "type": "剧情 爱情 同性",
          "ratingNum": "9.6",
          "tags": "经典 人性 文艺 爱情 人生 同志 剧情 文革"
        },
        {
          "movieId": "3",
          "name": "阿甘正传 Forrest Gump",
          "director": "罗伯特·泽米吉斯",
          "scenarist": "艾瑞克·罗斯 / 温斯顿·格鲁姆",
          "actors": "汤姆·汉克斯 / 罗宾·怀特 / 加里·西尼斯 / 麦凯尔泰·威廉逊 / 莎莉·菲尔德 / 海利·乔·奥斯蒙 / 迈克尔·康纳·亨弗里斯 / 哈罗德·G·赫瑟姆 / 山姆·安德森 / 伊俄涅·M·特雷奇 / 彼得·道博森 / 希芳·法隆 / 伊丽莎白·汉克斯 / 汉娜·豪尔 / 克里斯托弗·琼斯 / 罗布·兰德里 / 杰森·麦克奎尔 / 桑尼·施罗耶 / 艾德·戴维斯 / 丹尼尔C.斯瑞派克 / 大卫·布里斯宾 / 德博拉·麦克蒂尔 / 艾尔·哈林顿 / 阿非莫·奥米拉 / 约翰·沃德斯塔德 / 迈克尔·伯吉斯 / 埃里克·安德伍德 / 拜伦·明斯 / 斯蒂芬·布吉格沃特 / 约翰·威廉·高尔特 / 希拉里·沙普兰 / 伊莎贝尔·罗斯 / 理查德·达历山德罗 / 迪克·史迪威 / 迈克尔-杰斯 / 杰弗里·布莱克 / 瓦妮莎·罗斯 / 迪克·卡维特 / 马拉·苏查雷特扎 / 乔·阿拉斯奇 / W·本森·泰瑞",
          "type": "剧情 爱情",
          "ratingNum": "9.5",
          "tags": "励志 经典 人生 美国 成长 信念 剧情 人性"
        }
      ]
    }

     注意这里是将json文件放到resources文件下

    pom依赖

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

    读取JSON工具类

    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    
    import java.io.*;
    
    
    public class JsonTest {
    
        //读取json文件
        public static String readJsonFile(String fileName) {
            String jsonStr = "";
            try {
                File jsonFile = new File(fileName);
                FileReader fileReader = new FileReader(jsonFile);
                Reader reader = new InputStreamReader(new FileInputStream(jsonFile),"utf-8");
                int ch = 0;
                StringBuffer sb = new StringBuffer();
                while ((ch = reader.read()) != -1) {
                    sb.append((char) ch);
                }
                fileReader.close();
                reader.close();
                jsonStr = sb.toString();
                return jsonStr;
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    
    
        public static void main(String[] args) {
            String path = JsonTest.class.getClassLoader().getResource("Movie.json").getPath(); // "D:/home/json.txt"
            String s = readJsonFile(path);
            JSONObject jobj = JSON.parseObject(s);
            JSONArray movies = jobj.getJSONArray("RECORDS");//构建JSONArray数组
            for (int i = 0 ; i < movies.size();i++){
                JSONObject key = (JSONObject)movies.get(i);
                String name = (String)key.get("name");
                String director = (String)key.get("director");
                String scenarist=((String)key.get("scenarist"));
                String actors=((String)key.get("actors"));
                String type=((String)key.get("type"));
                String ratingNum=((String)key.get("ratingNum"));
                String tags=((String)key.get("tags"));
                System.out.println(name);
                System.out.println(director);
                System.out.println(scenarist);
                System.out.println(actors);
                System.out.println(type);
                System.out.println(director);
                System.out.println(ratingNum);
                System.out.println(tags);
            }
        }
    }

     https://www.cnblogs.com/wkfvawl/p/11876107.html

    故乡明
  • 相关阅读:
    Eclipse 快捷键大全
    js字符串变量赋值的时候,一行写不下,想在下一行继续写
    java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils
    JS调用iframe父窗口元素和子窗口元素的方法
    no JMagick in java.library.path
    数据库建立索引的原则
    Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
    软件项目管理心得
    Errors running builder JavaScript Validator的问题
    21. Session Management
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/15171974.html
Copyright © 2011-2022 走看看