zoukankan      html  css  js  c++  java
  • [工具类] 读取解析json文件

    读取json文件并转换为字符串

        /**
         * 通过本地文件访问json并读取
         *
         * @param path:json文件路径
         * @return:json文件的内容
         */
        public static String ReadFile(String path) {
            StringBuffer laststr = new StringBuffer();
            File file = new File(path);// 打开文件
            BufferedReader reader = null;
            try {
                FileInputStream in = new FileInputStream(file);
                reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));// 读取文件
                String tempString = null;
                while ((tempString = reader.readLine()) != null) {
                    laststr = laststr.append(tempString);
                }
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException el) {
                    }
                }
            }
            return laststr.toString();
        }

    解析json(fastjson)

    public static void main(String args[]) {
            String filePath = "D:/data.json";
            String jsonString = ReadFile(filePath);
            JSONArray jsonArr = JSON.parseArray(jsonString);
            Map<String, Object> resultMap = new HashMap<String, Object>();
            for (int i = 0; i < jsonArr.size(); i++) {
    
                Map data_map = (Map) jsonArr.get(i);//本次循环获取数据
                Integer customer_id = (Integer) data_map.get("customer_id");
                String customer_email = (String) data_map.get("customer_email");
                String customer_firstname = (String) data_map.get("customer_firstname");
                String customer_lastname = (String) data_map.get("customer_lastname");
    
                String sku = (String) data_map.get("sku");
                String created_at = (String) data_map.get("created_at");
    
                Map level_1_map = (Map) resultMap.get(customer_id.toString());
                if (null == level_1_map || level_1_map.size() <= 0) {
                    level_1_map = new HashMap<String, Object>();
                    level_1_map.put("customer_id", customer_id);
                    level_1_map.put("customer_email", customer_email);
                    level_1_map.put("customer_firstname", customer_firstname);
                    level_1_map.put("customer_lastname", customer_lastname);
                }
    
                List list = level_1_map.get("list") == null ? new ArrayList<T>() : (List) level_1_map.get("list");
                Map listMap = new HashMap<String, Object>();
                listMap.put("sku", sku);
                listMap.put("created_at", created_at);
                list.add(listMap);
                level_1_map.put("list", list);
    
                resultMap.put(customer_id.toString(), level_1_map);
            }
            System.out.println(JSON.toJSONString(resultMap));
    
    
        }
  • 相关阅读:
    javascript与jQuery
    dedecms5.7怎么安装百度编辑器
    Vue.js前端MVVM框架实战篇
    MySQL索引工作原理
    伪静态规则写法RewriteRule-htaccess详细语法使用
    Apache Rewrite 规则详解知识大全
    简单layer 快速上手
    织梦熊掌号主动推送(实时)
    jsonp原生js代码示例
    rgba()和opacity的使用
  • 原文地址:https://www.cnblogs.com/avivaye/p/9297762.html
Copyright © 2011-2022 走看看