java Json解析和文件备份
来源:互联网 发布:人力资源管理专业知乎 编辑:程序博客网 时间:2024/06/05 19:06
java Json解析和文件备份
1、JSON解析,这里解析采用的是org.json.JSONObject,首先看一下json文件,这里取名叫zunyijson.txt,我把其存放在E:\\xml\\test.txt下面,解析json要区分好key是JSONObject和JSONArray即可,如下:
4、json解析结果如图所示:
1、JSON解析,这里解析采用的是org.json.JSONObject,首先看一下json文件,这里取名叫zunyijson.txt,我把其存放在E:\\xml\\test.txt下面,解析json要区分好key是JSONObject和JSONArray即可,如下:
{ "additionalInfo": [ { "name": "MAINTENANCE_PERSON_NAME", "value": "" }, { "name": "REMARK", "value": "" }, { "name": "IPADDRESS", "value": "172.31.7.8" }, { "name": "MAINTENANCE_PERSON_ADDRESS", "value": "" }, { "name": "CONTACT_ADDRESS", "value": "彩虹大厦南楼二层" }, { "name": "HARDWARE_VER", "value": "A.2" }, { "name": "NETYPE_DISPLAY_NAME", "value": "OPCOM3500E" }, { "name": "ISTATUS", "value": "1" }, { "name": "NE_CATEGORY_ID", "value": "0" }, { "name": "CREATE_TIME", "value": "2008-12-29 11:52:59" }, { "name": "CREATE_USER", "value": "" }, { "name": "MACADDRESS", "value": "" }, { "name": "READCOM", "value": "zydx" }, { "name": "WRITECOM", "value": "zydxvip" }, { "name": "GRID_NAME", "value": "" }, { "name": "GRID_ID", "value": "" }, { "name": "PROPERTY_RIGHT_UNIT", "value": "" }, { "name": "CUS_NAME", "value": "" }, { "name": "STATION", "value": "" }, { "name": "ROOM", "value": "" }, { "name": "NET_ID", "value": "" }, { "name": "IS_LOCAL", "value": "1" }, { "name": "TOPO_AEND_PTP", "value": "" } ], "communicationState": {}, "emsInSyncState": true, "location": " ", "name": [ { "name": "EMS", "value": "Raisecom/NNM" }, { "name": "ManagedElement", "value": "2" } ], "nativeEMSName": "22-3500E-1", "owner": "Raisecom", "productName": "OPCOM3500E", "supportedRates": [], "userLabel": "22-3500E-1", "version": "2.5.36"}
2、解析代码如下,文件放在本地,通过代码读取出来然后解析:
package www.zy.com.FirstJava;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;/** * 解析json * @author Administrator * */public class ZunYiJson {public static void main(String[] args) {File file = new File("E:\\xml\\zunyijson.txt");if(!file.exists()){System.out.println("文件不存在!");}try { analysis(file);} catch (IOException e) {e.printStackTrace();}}public static void analysis(File file) throws IOException{FileInputStream fis = new FileInputStream(file);int size = fis.available();//求出长度一次性读完byte[] by = new byte[size];fis.read(by);fis.close();String str = new String(by,"GB2312");//json字符串的结果 System.out.println(str);try {JSONObject jsonObject = new JSONObject(str);JSONArray jsonArray = jsonObject.getJSONArray("additionalInfo");for(int i = 0;i<jsonArray.length();i++){JSONObject jo = jsonArray.getJSONObject(i);System.out.println("name:"+ jo.get("name"));System.out.println("value:"+ jo.get("value"));}System.out.println("communicationState:" + jsonObject.get("communicationState"));System.out.println("emsInSyncState:" + jsonObject.getBoolean("emsInSyncState"));System.out.println("location:" + jsonObject.get("location"));JSONArray ja = jsonObject.getJSONArray("name");for(int j = 0;j<ja.length();j++){JSONObject js = ja.getJSONObject(j);System.out.println("name:" + js.get("name"));System.out.println("value:" + js.get("value"));}System.out.println("nativeEMSName:" + jsonObject.get("nativeEMSName"));System.out.println("owner:" + jsonObject.get("owner"));System.out.println("productName:" + jsonObject.get("productName"));System.out.println("supportedRates:" + jsonObject.get("supportedRates"));System.out.println("version:" + jsonObject.get("version"));} catch (JSONException e) {e.printStackTrace();}}}
3、java实现文件备份代码,从一个路径备份到某一个路径下
/** * 备份文件到指定目录下 * @throws FileNotFoundException * @throws IOException */ public static void copyFile() throws FileNotFoundException, IOException { //读操作,原始目录 FileInputStreamfis = new FileInputStream(PATH);//PATH是原路径 if(fis!=null){ //写操作,目标目录 String dataTime = getStringDateShort(); String filePath = "F:\\ftp\\file_bak\\report" + dataTime + ".txt";//新路径 bakFileName = filePath; FileOutputStream fos = new FileOutputStream(filePath); int len = 0; byte[] buf = new byte[1024]; while ((len = fis.read(buf)) != -1) { fos.write(buf, 0, len); } System.out.println("附件备份到F:\\ftp\\file_bak\\成功!"); fos.close(); fis.close(); } }/** * 获取现在时间并将其格式化为指定格式 * @return */ public static String getStringDateShort() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss"); String dateString = formatter.format(currentTime); return dateString;}
4、json解析结果如图所示:
1 0
- java Json解析和文件备份
- JAVA流和文件
- Java 异常和文件
- 多线程实现文件备份和文件压缩
- java 创建文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java IO流和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- Java删除文件夹和文件
- 矩阵快速幂
- Android NDK编译C/C++为so共享对象
- SpringBoot系列之二intelliJ idea 配置Spring boot 热部署
- oracle 手工创建数据库
- EINTPEND等中断寄存器有关
- java Json解析和文件备份
- Android studio 通过build.gradle 配置打包签名文件,生成 xxx.apk
- 2D斜45度SLG游戏地图转换规则
- GitBook使用流程
- AnimatedRotateDrawable的简单使用
- git命令学习
- 【OpenCV学习笔记】二十、霍夫变换及应用
- jTDS
- BZOJ4238: 电压