java讀取未知json文件(找不到json文件)

本文目錄一覽:

java怎麼讀取json格式的數據

java可以使用JSONObject和JSONArray來操作json對象和json數組,具體用法如下

1:java對象與json串轉換:

java對象—json串:

JSONObject JSONStr = JSONObject.fromObject(object);

String str = JSONStr.toString();

json串—java對象:

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Object pojo = JSONObject.toBean(jsonObject,pojoCalss);

2:java數組對象與json串轉換:

java數組—json串:

JSONArray arrayStr = JSONArray.fromObject(List?);

String str = arrayStr.toString();

json串—java數組:

JSONArray array = JSONArray.fromObject(str);

List? list = JSONArray.toList(array, ?.class);

java如何讀取json中文件內容

java讀取文件非常簡單的

File file = new File(“D:/java”); //給定一個目錄

File[] list = file.listFiles(); //獲取目錄下的所有文件

for(int i=0; ilist.length; i++){

if(list[i].isFile()){ //判斷是否為文件

InputStreamReader isr = new InputStreamReader(new FileInputStream(list[i]),”UTF-8″);//讀取文件,同時指定編碼

StringBuffer sb = new StringBuffer();

char[] ch = new char[128]; //一次讀取128個字符

int len = 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文件,在本地有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”);

ListB listB=new ArrayListB();

for(int i=0;iarrayB.size();i++){

B b=(B)JSONObject.toBean((JSONArray.fromObject(arrayB.toString()).getJSONObject(i)),B.class);

listB.add(b);

}

//得到C集合

JSONArray arrayC=jsonObj.getJSONArray(“C”);

ListC listC=new ArrayListC();

for(int i=0;iarrayB.size();i++){

C c=(C)JSONObject.toBean((JSONArray.fromObject(arrayC.toString()).getJSONObject(i)),C.class);

listB.add(c);

}

java讀取json文件的問題

Java 讀寫json格式的文件方法:

一、要解決這個問題首先要知道json格式是什麼?

JSON格式:

比如學生有學號,姓名,性別等。

用json表示則為:

{“studno”:”11111″,”studname”:”wwww”,”studsex”:”男”}(各個字段都是字符型)

這代表一個學生的信息。

如果多個,如下:

[{“studno”:”122222″,”studname”:”wwww”,”studsex”:”男”},

{“studno”:”11111″,”studname”:”xxxx”,”studsex”:”男”},

{“studno”:”33333″,”studname”:”ssss”,”studsex”:”男”}]

這就是json格式。

二、那如何操作json格式的文件呢?

解答:就是直接讀寫文件,再把讀出來的文件內容格式化成json就可以了。

三、具體操作:

1、有一個實體類,如下:

public class ElectSet {

public String xueqi;

public String xuenian;

public String startTime;

public String endTime;

public int menshu;

public String isReadDB;

//{“xueqi”:,”xuenian”:,”startTime”:,”endTime”:,”renshu”:,”isReadDB”:}

public String getXueqi() {

   return xueqi;

}

public void setXueqi(String xueqi) {

   this.xueqi = xueqi;

}

public String getXuenian() {

   return xuenian;

}

public void setXuenian(String xuenian) {

   this.xuenian = xuenian;

}

public String getStartTime() {

   return startTime;

}

public void setStartTime(String startTime) {

   this.startTime = startTime;

}

public String getEndTime() {

   return endTime;

}

public void setEndTime(String endTime) {

   this.endTime = endTime;

}

public int getMenshu() {

   return menshu;

}

public void setMenshu(int menshu) {

   this.menshu = menshu;

}

public String getIsReadDB() {

   return isReadDB;

}

public void setIsReadDB(String isReadDB) {

   this.isReadDB = isReadDB;

}

}

2.有一個json格式的文件,存的就是他的信息,如下:

Sets.json:

{“xuenian”:”2007-2008″,”xueqi”:”1″,”startTime”:”2009-07-19 08:30″,”endTime”:”2009-07-22 18:00″,”menshu”:”10″,”isReadDB”:”Y”}

3.具體操作:

/*

* 取出文件內容,填充對象

*/

public ElectSet findElectSet(String path){

   ElectSet electset=new ElectSet();

   String sets=ReadFile(path);//獲得json文件的內容

   JSONObject jo=JSONObject.fromObject(sets);//格式化成json對象

   //System.out.println(“————” jo);

   //String name = 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”));

   return electset;

}

//設置屬性,並保存

public boolean setElect(String path,String sets){

   try {

    writeFile(path,sets);

    return true;

   } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    return false;

   }

}

//讀文件,返回字符串

public String ReadFile(String path){

    File file = new File(path);

    BufferedReader reader = null;

    String laststr = “”;

    try {

     //System.out.println(“以行為單位讀取文件內容,一次讀一整行:”);

     reader = new BufferedReader(new FileReader(file));

     String tempString = null;

     int line = 1;

     //一次讀入一行,直到讀入null為文件結束

     while ((tempString = reader.readLine()) != null) {

      //顯示行號

      System.out.println(“line ” line “: ” tempString);

      laststr = laststr tempString;

      line ;

     }

     reader.close();

    } catch (IOException e) {

     e.printStackTrace();

    } finally {

     if (reader != null) {

      try {

       reader.close();

      } catch (IOException e1) {

      }

     }

    }

    return laststr;

}

         //把json格式的字符串寫到文件

public void writeFile(String filePath, String sets) throws IOException {

    FileWriter fw = new FileWriter(filePath);

    PrintWriter out = new PrintWriter(fw);

    out.write(sets);

    out.println();

    fw.close();

    out.close();

   }

4.調用,使用(在網站的controller里調用的):

//取出json對象

public void GetElectSettings(HttpServletRequest request,

    HttpServletResponse response) throws Exception {

   ElectSet electset=new ElectSet();

   String absPath = request.getRealPath(“\”);

   String filePath = absPath “public\sets\electSets.json”;

   electset=businessService.findElectSets(filePath);//這裡是調用,大家自己改改,我調用的業務層 的。

   JSONArray jsonItems = new JSONArray();

   jsonItems.add(electset);

   JSONObject jo=new JSONObject();

   jo.put(“data”, jsonItems);

   System.out.println(jo);

   request.setCharacterEncoding(“utf-8”);

   response.setContentType(“application/json;charset=utf-8”);

   PrintWriter out = response.getWriter();

   out.print(jo);

}

//修改json文件

public void ChangeElectSet(HttpServletRequest request,

    HttpServletResponse response) throws Exception {

   request.setCharacterEncoding(“UTF-8”);

   response.setContentType(“text/json;charset=utf-8”);

   log.info(“reach ChangeElectSet”);

   String json = (String) request.getParameter(“json”).trim();

   log.info(“Change ElectSet”);

   log.info(json);

   ElectSet sets = new ElectSet();

   JSONObject jsonObject = JSONObject.fromObject(json);

   sets = (ElectSet) JSONObject.toBean(jsonObject, ElectSet.class);

   if(sets.getIsReadDB()==”false”){

    sets.setIsReadDB(“否”);

   }

   else{

    sets.setIsReadDB(“是”);

   }

   String changes=”{“xuenian”:””;//因為json的屬性要用引號,所以要用”轉義一下

   changes =sets.getXuenian() “”,”xueqi”:”” sets.getXueqi() “”,”startTime”:”” sets.getStartTime() “”,”endTime”:”” sets.getEndTime() “”,”menshu”:”” sets.getMenshu() “”,”isReadDB”:”” sets.getIsReadDB() “”}”;

   System.out.println(changes);

   String absPath = request.getRealPath(“\”);

   String filePath = absPath “public\sets\electSets.json”;

JAVA 如何讀取JSON編碼格式的數據?

java可以使用JSONObject和JSONArray來操作json對象和json數組,具體用法如下

1:java對象與json串轉換:

java對象—json串:

JSONObject JSONStr = JSONObject.fromObject(object);

String str = JSONStr.toString();

json串—java對象:

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Object pojo = JSONObject.toBean(jsonObject,pojoCalss);

2:java數組對象與json串轉換:

java數組—json串:

JSONArray arrayStr = JSONArray.fromObject(List?);

String str = arrayStr.toString();

json串—java數組:

JSONArray array = JSONArray.fromObject(str);

List? list = JSONArray.toList(array, ?.class);

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236661.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:01
下一篇 2024-12-12 12:01

相關推薦

發表回復

登錄後才能評論