java載入json(JAVA載入過程)

本文目錄一覽:

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文件

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文件?這個說法夠奇怪的。

JSON格式對象的操作可以藉助於第三方包JSON-lib(需要其他依賴包)或者org.json(不需要其他依賴包)來操作。

你所說的引用JSON文件,是對json格式的文件進行操作么?如果是那樣的話可以利用IO流,讀取文件中的字元串,再利用JSON-lib或者org.json進行處理。

java怎麼讀取json格式的數據

你好,Java讀取json數據格式,你只需要使用JsonStore 等等工具包即可進行便捷的讀取了。代碼比較簡單,通俗易懂,具體JsonStore可以百度一下詳細信息。

java中如何讀取json文件,在本地有E:/a.json文件,想讀取這個json文件裡面的內容,怎樣實現

String json = [{\”foo\”: \”bar\”},{\”foo\”: \”biz\”}]”;

JsonFactory f = new JsonFactory();

JsonParser jp = f.createJsonParser(json);

// advance stream to START_ARRAY first:

jp.nextToken();

// and then each time, advance to opening START_OBJECT

while (jp.nextToken() == JsonToken.START_OBJECT)) {

Foo foobar = mapper.readValue(jp, Foo.class);

// process

// after binding, stream points to closing END_OBJECT

}

public class Foo {

public String foo;

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-15 03:26
下一篇 2024-11-15 03:26

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • QML 動態載入實踐

    探討 QML 框架下動態載入實現的方法和技巧。 一、實現動態載入的方法 QML 支持從 JavaScript 中動態指定需要載入的 QML 組件,並放置到運行時指定的位置。這種技術…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論