当前位置:首页 » 文件管理 » java解压读取json文件

java解压读取json文件

发布时间: 2023-03-22 22:32:23

‘壹’ java如何读取json中文件内容

java读取文件非常简单举闹册的
Filefile=newFile("D:/java"); //给定一个目录
File[]list=file.listFiles(); //获取目录下的所有文件
for(inti=0;i<list.length;i++){
if(list[i].isFile()){ //判断是否为文件
InputStreamReaderisr=newInputStreamReader(newFileInputStream(list[i]),"UTF-8");//读取文件,同时指定编码
StringBuffersb=newStringBuffer();
char[]ch=newchar[128]; //一次读取128个字符
intlen=0;
while((len=isr.read(ch,0,ch.length))!=弯仔-1){
sb.append(ch,0,len);
}
isr.close();
System.out.println(sb); //将读取完的文件打印出来正宏,你要怎么处理都可以了
}
}

‘贰’ java类中怎么读取 json文件

String fullFileName = "E:/a.json";

File file = new File(fullFileName);
Scanner scanner = null;
StringBuilder buffer = new StringBuilder();
try {
scanner = new Scanner(file, "utf-8"腊闹岁);
while (scanner.hasNextLine()) {
buffer.append(scanner.nextLine());
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block

} finally {
if (scanner != null) {
scanner.close();
}
}

System.out.println(buffer.toString());

这是弯配读轮睁取文件的方法,至于解析json,则你自己弄吧

‘叁’ java解析json格式文件

/*简单的回了复杂的也就会了*/
/*其实,json实际上是用来统一数据格式,所以,在使用它时,肯定要设计一下格式,
当然,所谓的复杂,只是嵌套的层次深了。。。解析方式并没有变。。个人理解,如果觉得有价值就看,没价值,就当没看见吧。。
呵呵。。
*/

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import net.sf.ezmorph.bean.MorphDynaBean;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;
/**
* @author John
*
*/
public class JSONDemo {

public static final String PREFIX = "index_";
/**
* @param args
*/
public static void main(String[] args) {
Map map = new HashMap();
String str ="[{'status': 5,'remarks': '\\xe6\\xa3\\x80\\xe6\\xb5\\x8b\\xe5\\xb7\\xb2\\xe7\\xbb\\x8f\\xe5\\xae\\x8c\\xe6\\x88\\x90','session': \"(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')\",'vuls': [\"('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': \'['%E7%89%88%E6%9C%AC%E5%8F%B7']\', 'type': 1}])\",\"('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])\"], 'endTime':123}, 1L, '\\xe6\\xb5\\x8b\\xe8\\xaf\\x95\\xe6\\x89\\xab\\xe6\\x8f\\x8f\\xe4\\xbb\\xbb\\xe5\\x8a\\xa1']";

System.out.println("json格式字符串-->"+str);
JSONArray array = JSONArray.fromObject(str);
System.out.println("json格式字符串构造json数组元素的个数-->"+array.size());
ArrayList list = (ArrayList) JSONSerializer.toJava(array);

int i = 0;
for (Object obj : list) {
map.put(PREFIX+(i++), obj);
System.out.println("第"+i+"对象-->"+obj);
}
//解析第0个位置
Map bd = new HashMap();
MorphDynaBean bean = (MorphDynaBean) map.get(PREFIX+0);
bd.put("session", bean.get("session"));
bd.put("status", bean.get("status"));
bd.put("remarks", bean.get("remarks"));
bd.put("vuls", bean.get("vuls"));
bd.put("endTime", bean.get("endTime"));
Iterator iter = bd.keySet().iterator();
while (iter.hasNext()){
Object key = iter.next();
Object value = bd.get(key);
System.out.println("MorphDynaBean对象-->key="+key+",value="+value);
}

//解析vuls
ArrayList vuls = (ArrayList) bd.get("vuls");
Map vl = new HashMap();
int j = 0;
for (Object obj : vuls) {
vl.put(PREFIX+(j++), obj);
System.out.println("解析vuls的第"+i+"对象-->"+obj);
}

}
}

/*
* json格式字符串-->[{'status': 5,'remarks': '\xe6\xa3\x80\xe6\xb5\x8b\xe5\xb7\xb2\xe7\xbb\x8f\xe5\xae\x8c\xe6\x88\x90','session': "(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')",'vuls': ["('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])","('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])"], 'endTime':123}, 1L, '\xe6\xb5\x8b\xe8\xaf\x95\xe6\x89\xab\xe6\x8f\x8f\xe4\xbb\xbb\xe5\x8a\xa1']
json格式字符串构造json数组元素的个数-->3
第1对象-->net.sf.ezmorph.bean.MorphDynaBean@94948a[
{session=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, ''), status=5, remarks=???????·??????????, vuls=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])], endTime=123}
]
第2对象-->1L
第3对象-->???è??????????????
MorphDynaBean对象-->key=status,value=5
MorphDynaBean对象-->key=session,value=(1, '9.2.0.1.0', '192.168.177.115', 1521L, 'ora9', 1, '')
MorphDynaBean对象-->key=remarks,value=???????·??????????
MorphDynaBean对象-->key=vuls,value=[('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}]), ('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])]
MorphDynaBean对象-->key=endTime,value=123
解析vuls的第3对象-->('612300200001', 1, '', [{'values': '['version']', 'type': 0}, {'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1}])
解析vuls的第3对象-->('612300200002', 1, '', [{'values': '['version']', 'type': 0},{'values': '['%E7%89%88%E6%9C%AC%E5%8F%B7']', 'type': 1},{'values': '['9.2.0.1.0']', 'type': 2}])
*/

‘肆’ java中如何读取json文件,在本地有E:/a.json文件,想读取这个json文件里面的内容,怎样实现

//saveJsonFile("E:\\yindd\\岩模slaughter.json");
//json文件存放路径(如:E:\a.json)
String data= ReadFile.readFile("F:\\a.json");
System.out.println(data);
JSONObject jsonObj = JSONObject.fromObject(data);
//得到A对粗并缓象
JSONArray arrayA=jsonObj.getJSONArray("A");
A a = (A) JSONObject.toBean((JSONArray.fromObject(arrayA.toString()).getJSONObject(0)),A.class);
//得到B集合蔽历
JSONArray arrayB=jsonObj.getJSONArray("B");
List<B> listB=new ArrayList<B>();
for(int i=0;i<arrayB.size();i++){
B b=(B)JSONObject.toBean((JSONArray.fromObject(arrayB.toString()).getJSONObject(i)),B.class);
listB.add(b);
}
//得到C集合
JSONArray arrayC=jsonObj.getJSONArray("C");
List<C> listC=new ArrayList<C>();
for(int i=0;i<arrayB.size();i++){
C c=(C)JSONObject.toBean((JSONArray.fromObject(arrayC.toString()).getJSONObject(i)),C.class);
listB.add(c);
}

‘伍’ java解析json格式文件,再保存在数据库怎么做

java解析json格式文件,再保存在数据库的方法:

1:定义一个实体类

2:用json lib将json字符串转为Java对象

3:用jdbc或hibernate将java对象存入数据库

直接读写文件,再把读出来的文件内容格式化成json,再用JDBC、Mybatis或者其他框架将json数据存入数据库。

假设实体类是这样的:

publicclassElectSet{
publicStringxueqi;
publicStringxuenian;
publicStringstartTime;
publicStringendTime;
publicintmenshu;
publicStringisReadDB;
//{"xueqi":,"xuenian":,"startTime":,"endTime":,"renshu":,"isReadDB":}
publicStringgetXueqi(){
returnxueqi;
}
publicvoidsetXueqi(Stringxueqi){
this.xueqi=xueqi;
}
publicStringgetXuenian(){
returnxuenian;
}
publicvoidsetXuenian(Stringxuenian){
this.xuenian=xuenian;
}
publicStringgetStartTime(){
returnstartTime;
}
publicvoidsetStartTime(StringstartTime){
this.startTime=startTime;
}
publicStringgetEndTime(){
returnendTime;
}
publicvoidsetEndTime(StringendTime){
this.endTime=endTime;
}
publicintgetMenshu(){
returnmenshu;
}
publicvoidsetMenshu(intmenshu){
this.menshu=menshu;
}
publicStringgetIsReadDB(){
returnisReadDB;
}
publicvoidsetIsReadDB(StringisReadDB){
this.isReadDB=isReadDB;
}

}

有一个json格式的文件,存的信息如下:


Sets.json:
{"xuenian":"2007-2008","xueqi":"1","startTime":"2009-07-1908:30","endTime":"2009-07-2218:00","menshu":"10","isReadDB":"Y"}

具体操作:


/*
*取出文件内容,填充对象
*/
publicElectSetfindElectSet(Stringpath){
ElectSetelectset=newElectSet();
Stringsets=ReadFile(path);//获得json文件的内容
JSONObjectjo=JSONObject.fromObject(sets);//格式化成json对象
//System.out.println("------------"jo);
//Stringname=jo.getString("xuenian");
//System.out.println(name);
electset.setXueqi(jo.getString("xueqi"));
electset.setXuenian(jo.getString("xuenian"));
electset.setStartTime(jo.getString("startTime"));
electset.setEndTime(jo.getString("endTime"));
electset.setMenshu(jo.getInt("menshu"));
electset.setIsReadDB(jo.getString("isReadDB"));
returnelectset;
}
//设置属性,并保存
publicbooleansetElect(Stringpath,Stringsets){
try{
writeFile(path,sets);
returntrue;
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnfalse;
}
}
//读文件,返回字符串
publicStringReadFile(Stringpath){
Filefile=newFile(path);
BufferedReaderreader=null;
Stringlaststr="";
try{
//System.out.println("以行为单位读取文件内容,一次读一整行:");
reader=newBufferedReader(newFileReader(file));
StringtempString=null;
intline=1;
//一次读入一行,直到读入null为文件结束
while((tempString=reader.readLine())!=null){
//显示行号
System.out.println("line"line":"tempString);
laststr=laststrtempString;
line;
}
reader.close();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(reader!=null){
try{
reader.close();
}catch(IOExceptione1){
}
}
}
returnlaststr;
}

将获取到的字符串,入库即可。

‘陆’ java怎么将json文件读取进来并转成map

java中解析json文件,需要下载json解析包,用JSONUtil.deserialize()就可以了,范例:

importorg.apache.struts2.json.JSONUtil;

publicclassJsonToJava{
publicstaticvoidmain(String[]args){
try{
Strings=JSONObject.toString();
Objecto=JSONUtil.deserialize(s);
Objecto1=((HashMap)o).get("DATA");//此举将DATA作为对象,得到。
Mapmap=(Map)o1;//然后强转o1

}catch(Exceptione){
e.printStackTrace(System.out);
}
}
}
热点内容
androidsdk包含 发布:2024-05-04 00:45:54 浏览:207
android拷贝文件 发布:2024-05-04 00:38:28 浏览:775
存储冗余比 发布:2024-05-04 00:12:58 浏览:403
oracle数据库存储原理 发布:2024-05-04 00:10:40 浏览:522
未拆封玩客云3怎么搭建服务器 发布:2024-05-04 00:06:11 浏览:797
彻底删除编译安装的文件 发布:2024-05-04 00:05:33 浏览:55
编程机构数量 发布:2024-05-03 23:49:25 浏览:955
python源码编译安装 发布:2024-05-03 23:48:16 浏览:108
android手机市场 发布:2024-05-03 23:47:04 浏览:499
如何配置vlan并添加端口 发布:2024-05-03 23:37:53 浏览:726