java解析json文件
来源:互联网 发布:淘宝10元包邮网址 编辑:程序博客网 时间:2024/05/21 08:59
/** * */package com.XXX.json;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import com.XXX.utils.Constant;import net.sf.json.JSON;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import net.sf.json.xml.XMLSerializer;/** * @author * */public class JsonAndXml { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ParserJsonFromFile(); } private static void ParserJsonFromFile() { // TODO Auto-generated method stub String mJsonString = getJsonFromFile(); ParseJson(mJsonString); } private static void ParseJson(String mJsonString) { // TODO Auto-generated method stub //1.定义json对象 JSONObject mObject = new JSONObject(mJsonString); JSONObject data = mObject.getJSONObject("data"); //2.定义json数组对象,该字段定义带有[] JSONArray tags = data.getJSONArray("tag"); String cdn = null; String fileId = null; StringBuffer mCdnBuffer = new StringBuffer(); StringBuffer mFileIdBuffer = new StringBuffer(); //3.逐个解析json数组tags的每个对象 for (int i = 0; i < tags.length(); i++) { //4.json数组每个对象又定义成一个json对象 JSONObject tag = tags.getJSONObject(i); //5.重新定义的json对象内有具有数组对象[] JSONArray sources = tag.getJSONArray("source"); //6.逐个解析json数组sources的每个对象 for (int j = 0; j < sources.length(); j++) { //7.具体定义解析的操作 JSONObject source = sources.getJSONObject(j); cdn = source.getString("cdn"); fileId = source.getString("fileId"); mCdnBuffer.append(cdn + ", "); mFileIdBuffer.append(fileId + ", "); } } System.out.println("mCdnBuffer = " + mCdnBuffer.toString()); System.out.println("mFileIdBuffer = " + mFileIdBuffer.toString()); } /** * 将字节流转换成字符流并通过缓冲去读取 * */ private static String getJsonFromFile() { String mPathname = null; String jsonString = null; mPathname = Constant.JSON_PATH + File.separator+ "273389.json"; File mFile = new File(mPathname); try { StringBuffer mSBuffer = new StringBuffer(); InputStream mInputStream = new FileInputStream(mFile); InputStreamReader mInputStreamReader = new InputStreamReader(mInputStream, "utf-8"); BufferedReader mBufferedReader = new BufferedReader(mInputStreamReader); String str = null; while ((str = mBufferedReader.readLine()) != null) { mSBuffer.append(str); } jsonString = mSBuffer.toString(); mInputStream.close(); mInputStream.close(); mBufferedReader.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("jsonString = " + jsonString); return jsonString; }}
0 0
- java解析json文件
- Java解析JSON文件的方法
- Java解析JSON文件的方法
- java解析JSON文件的方法
- Java解析JSON文件的方法
- Java解析JSON文件的方法
- JSON库解析json文件
- Json解析本地json文件
- Java 复杂的Json文件解析为java对象
- JSon文件解析
- ajax解析json文件
- 转:解析json文件
- JSon文件解析
- Json文件解析
- 解析本地json文件
- JSon文件解析
- 解析json文件
- js解析json文件
- MODBUS RTU通信校验码的代码:
- innerHTML、innerText和outerHTML、outerText的区别
- Eclipse Maven install build 无任何作用
- hdu 5019 Revenge of GCD(BestCoder Round #10)
- android 创建工程的 package-info.java
- java解析json文件
- aspx调用js中函数方法
- 十道海量数据处理面试题与十个方法大总结
- UVA - 10976 Fractions Again?!
- android不想覆盖原来apk的方法
- 张孝祥高新技术部分,jdk1.5新特性枚举的概念及应用
- PAT 1004. 成绩排名
- 多个动态库代码构建-项目经验积累
- java中URL下载资源