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/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

发表回复

登录后才能评论