Java解析json文件的方法--直接拷贝可以使用
来源:互联网 发布:计生委招聘 知乎 编辑:程序博客网 时间:2024/06/04 18:29
原文链接:http://blog.sina.com.cn/s/blog_628cc2b70101dydc.html
原作者指定的jar下载 需要csdn的积分,积分充足的可以直接下载,没有的可以去自己的maven仓库中去找。
再解析json文件的时候,明明 json的格式正确,IDE却报错:
Exception in thread "main" net.sf.json.JSONException: A JSONArray text must start with '[' at character 1
原因如下:
一、首先需要在Eclipse工程中导入相关的jar包,
jar包参见链接:http://download.csdn.net/detail/filywysss/4991496
二、提供一份待解析的json文件,apkinfo.json如下:
[
{
"name":"帐号",
"package_name":"com.android.account",
"check_version":"1.2"
},
{
"name":"系统升级",
"package_name":"com.android.osupdate",
"check_version":"1.0"
},
]
三、Java代码由两个类组成,一个是读取文件内容的Util类,还有一个是主程序Test类。
(1)Util.java:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class Util {
public String ReadFile(String Path){
BufferedReader reader = null;
String laststr = "";
try{
FileInputStream fileInputStream = new FileInputStream(Path);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
reader = new BufferedReader(inputStreamReader);
String tempString = null;
while((tempString = reader.readLine()) != null){
laststr += tempString;
}
reader.close();
}catch(IOException e){
e.printStackTrace();
}finally{
if(reader != null){
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return laststr;
}
}
(2)Test.java:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String JsonContext = new Util().ReadFile("D:\\test\\apkinfo.json");
JSONArray jsonArray = JSONArray.fromObject(JsonContext);
int size = jsonArray.size();
System.out.println("Size: " + size);
for(int i = 0; i < size; i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println("[" + i + "]name=" + jsonObject.get("name"));
System.out.println("[" + i + "]package_name=" + jsonObject.get("package_name"));
System.out.println("[" + i + "]check_version=" + jsonObject.get("check_version"));
}
}
}
四、执行后的结果如下:
Size: 2
[0]name=帐号
[0]package_name=com.android.account
[0]check_version=1.2
[1]name=系统升级
[1]package_name=com.android.osupdate
[1]check_version=1.0
阅读全文
0 0
- Java解析json文件的方法--直接拷贝可以使用
- Java解析JSON文件的方法
- Java解析JSON文件的方法
- java解析JSON文件的方法
- Java解析JSON文件的方法
- Java解析JSON文件的方法
- 简单直接的方法解析JSON数据
- cp拷贝文件不提示而直接覆盖的方法
- cp拷贝文件不提示而直接覆盖的方法
- java解析json的方法
- Java 解析 Json 文件 (把 Json 转化成 String 的方法来解析)
- java文件工具类FileUtils的使用(直接饮用就可以使用)
- JS和JAVA使用JSON方法解析
- JS和JAVA使用JSON方法解析
- RxJava变换flatMap的使用 解析直接集合Json
- 【文件上传】uploadify插件配合java的使用,可以图片,按照步骤可以复制粘贴直接运行,2017年
- 快速开发时可以使用的Java文件工具方法
- Java实现文件拷贝的方法
- linux/ubuntu下IPython、IPython Notebook(jupyter)的安装和基本使用
- JAVA程序初始化的顺序是怎么样的
- Lintcode奇偶分割数组
- 全局修改默认字体,通过反射也能做到
- Struts1工作原理
- Java解析json文件的方法--直接拷贝可以使用
- 详解线索二叉树
- 2016ICPC大连站 A
- 剑指编程(1)
- mycat2.0配置文件schema.yml参数说明(chemaType)
- 操作系统笔记
- jsp物流信息管理系统
- 从死读书到今天逛知乎的感想
- 软件工程 习题三 课后作业(2)