json学习六——>Java 读写json格式的文件方法详解

AI 大模型应用数据中心的数据清洗工具 1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场 阅读详情
一、要解决这个问题首先要知道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"; 
    if(businessService.ChangeElectSets(filePath, changes)){ 
     log.info("选课设置修改成功"); 
     request.setCharacterEncoding("UTF-8"); 
     response.setContentType("text/json;charset=utf-8"); 
     response.getWriter().write("{success: true}"); 
    } else { 
     response.getWriter().write("{errors:'选课设置修改失败,请重新尝试!'}"); 
    } 
} 

摘自红色黑客联盟(www.7747.net) 原文:http://www.7747.net/kf/201009/74381.html
YOLOv13改进策略【特征提取层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov13精度提升 RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。 阅读详情

相关推荐

Android架构中UseCase的设计原则与实战解析

本文深入解析Android架构中UseCase的设计原则与实战应用,探讨其在Domain Layer中的核心作用。通过对比ViewModel的臃肿问题,详细阐述UseCase的无状态原则、单一职责边界等设计铁律,并提供多种实现方式的代码示例,帮助开发者构建更清晰、高效的Android应用架构。

weixin_28432777的博客 431

java活动安排_贪心法求解活动安排(java实现)

贪心法描述:贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。问题描述:现有一组活动由你安排,但要求你在最短的时间内安排尽可能多的活动。代码如下:Activity类用于封装活动对象,包括活动的开始时间和结束时间,另外实现了Comparable接口,用于...

weixin_31773159的博客 561

Hypermesh联合ABAQUS—Sets的建立和编辑

打开part copy对话框在对话框的最上面位置可以输入copy后的名称,然后将最下面的Separate disconnected regions into parts(将不连续的区域分割成parts)选项的前面方框勾选上。打开abaqus软件界面,File→import→model,将file filter选为inp格式,找到要导入的有限元文件,单击OK导入文件。HyperWorks新建Set时,会在Model Browser显示,打开Create Set对话框显示详细信息。快捷键,高亮set的内容。

动力资料屋的博客 1290

JSON字符串通过response下载保存

String jsonString = "{"姓名":"张三","年龄","18"}"; response.setContentType("text/plain"); response.setCharacterEncoding("utf-8"); // 这里URLEncoder.encode可以防止中文乱码 String fileName = URLEncoder.encode("UI", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Cont

qq_40603408的博客 396

Telegram Bot Api使用教程

其中token为你的机器人token,method为telegram给定的方法,在获取群组chat_id那一步就使用了telegram的其中一个方法(getUpdates),其他方法后面会介绍。telegram发送消息的方式类似与钉钉机器人,都是向一个api发送http请求,而且对于同一个APItelegram支持GET和POST两种请求方式.请求的api格式如下。通常来说我们都需要让机器人在一个群组里工作,所以首先我们需要将机器人添加到我们指定的群组,在群组里发送随意消息并@这个机器人,比如...

豫迷糊的码上生活 1万+

LSTM模型 轨迹经纬度预测

原始时间序列数据如下所示,我们只取前两列纬度和经度作为输入数据 我们设定用前六个位置信息预测下一个位置,则两个样本的输入输出数据如下所示: 创建LSTM网络训练模型: import numpy as np from keras.layers.core import Dense, Activation, Dropout from keras.layers import LS...

Muzi_Water的博客 2万+

JAVA 读写json格式的文件

一、要解决这个问题首先要知道json格式是什么? JSON格式:比如学生有学号,姓名,性别等。用json表示则为: {"studno":"11111","studname":"wwww","studsex":"男"}(各个字段都是字符型) 这代表一个学生的信息。 如果多个呢? [{"studno":"122222","studna

tong9876的博客 406

别再混淆了!一张图看懂SAP特殊采购类30/40/70/80的区别与选型指南

本文深度解析SAP特殊采购类30/40/70/80的核心逻辑与业务影响,通过对比框架和真实案例帮助用户掌握其适用边界。重点介绍委外加工(类型30)、工厂间转移(类型40/70)及计划与执行分离(类型80)的配置要点与常见问题,提供选型决策树和实施检查清单,助力企业优化供应链管理。

weixin_26938645的博客 450

JAVA写入本地文件时,json数据成一行的解决办法

JAVA写入本地文件时,json数据成一行的解决办法

liangtongning的博客 1582

华为MetaERP PTP采购到应付全流程解析

摘要:本文系统解析华为MetaERP中的PTP(采购到应付)全流程管理方案,涵盖从采购申请到付款执行的完整业务流程。文章详细分解了PR、PO、GR、IV、AP等关键环节的财务核算规则,并提供了预算校验、库存更新等Python代码示例。同时阐述了IT落地架构设计,包括会计引擎配置、系统集成方案及银企直连支付接口实现。该方案通过三单匹配自动化和智能会计引擎,将处理效率提升10倍(200笔/人天→2000笔/人天),实现98%的自动化率,为集团企业提供了高效的数字化财务管理样板。文中所有技术方案均需根据实际场景调

金牌架构师 1742

21、使用 FastHenry 进行片上电感器的模拟与参数预测

本文介绍了使用 FastHenry 对片上电感器进行模拟和参数预测的方法。讨论了 FastHenry 的适用场景、线圈几何形状的选择与离散化方法,以及如何考虑模拟中的寄生效应。同时对比了 FastHenry 和 Magnet 在不同基板电阻率下的模拟精度,并提出了优化电感器设计的策略,为高效准确地预测电感参数提供了技术指导。

y9z0a1b的博客 292

java 读取json文件的2种方式

研发过程中,经常会涉及到读取配置文件等重复步骤,也行是.conf文件,也许是.json文件,但不管如何他们最终都需要进入到jave的inputStream里面。下面以读取.json文件为例。

Y 1万+

手把手教你学Simulink——基于Simulink的储能PCS(功率转换系统)离网V/f控制仿真示例

本文带你从零开始,在Simulink中硬核还原了一套完整的100kW 储能PCS离网V/f控制系统。通过引入:✅无PLL的自主角度生成机制(实现真正的“构网”能力)✅电压外环与电流内环的双闭环解耦架构(兼顾稳态精度与动态响应)✅黑启动软充电与有源阻尼等工程化手段(确保系统平滑建压与抗谐振)核心收获透彻理解了储能系统在无大电网支撑下的自主运行机理。掌握了从“跟网(Grid-Following)”向“构网(Grid-Forming)”跨越的控制算法核心差异。

MHD0815的博客 77

Json-lib 如何转换日期格式的字段 json-->java

json : {password:"234234",userName:"zhangbo",birth:"2008-01-03"} javabean: Java代码 public class JSONTestBean {          private String userName;          private St

dainiao01的专栏 5368

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

实现JSON String<->Java Object的Mapper

import java.io.IOException; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.annotation.JsonInclude.Include; import c

boy的博客 721

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

简单封装Jackson,实现JSON String<->Java Object的Mapper.

/*******************************************************************************  * Copyright (c) 2005, 2014 springside.github.io  *  * Licensed under the Apache License, Version 2.0 (the "License"

yangydq的专栏 1795

http方式的post跳转和get跳转(js->java->java)

在做项目的时候,经常会涉及到页面跳转问题,或者是后台不同工程之间的访问问题,那么这个时候就会有一个问题了前后台怎么跳转,后台工程之间怎么访问。废话太多了,直接看代码吧。前后台之间访问前后台之间访问方式很多,有ajax,post,get,dwr等,这边笔者关注的是参数传递问题。 引用之前的一篇文章《ajax整合struts2,spring传递复杂json对象》 这篇文章有教大家怎么传递,下面这篇文

wltsysterm的博客 2910

JSON<-->JAVA

常见: 用net.sf.json进行数据转化:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 用gson.json进行数据转化:http://blog.youkuaiyun.com/cyxlzzs/article...

chuangangliu8460的博客 60

JSON,java对象转json

服务器返回给异步对象的数据载体: 1.HTML 2.XML 3.JSON 一)什么是JSON (1)JSON(Java Script Object Notation(记号,标记))是一种轻量级的数据交换语言,以文本字符串为基础,且易于让人阅读。 注意:XML就是一个重量级的数据交换语言 (2)JSON采用完全...

weixin_30416871的博客 108

工具:查看函数图象/SVG编辑/JSON->JAVA/Scalpel手机端三维视图/RxJava

查看函数图象 https://www.desmos.com/calculatorSVG编辑 可获取Path http://editor.method.ac/

doomvsjing的博客 755

数据库——MongoDB——>Java篇

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法...

weixin_30594001的博客 166

【转载】Java下利用Jackson进行JSON解析和序列化

参考资料: https://blog.youkuaiyun.com/sdut406/article/details/85647982 Java下常见的Json类库有Gson、JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的JSON操作方法。 一、准备工作 Jackson有1.x系列和...

weixin_30246221的博客 100

Java后台转换List<Map>集合为JSON格式数据失败:Could not write JSON: java.lang.Long cannot be cast to java.lang

解决后台返回Map集合数据到前台时报数据类型无法转换的问题

qq_58067900的博客 1662

<项目一>java数据转为JSONObject,再转为JSONArray

今天做到一个接口需求,将

MISSLilyliu的专栏 1099

JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中

处理JSON字符串时,一直出错,写个样例后发现原来是没有弄清楚数据的格式问题。 实现的是 JSONString 转换成java对象 或是 list列表 实例类 News package lyx.entity; /** * @author lyx * * 2015-8-10上午10:14:38 * * *新闻类 */ public class News {...

weixin_34146410的博客 142
上一篇: JSON学习四——JSON里面的类
下一篇: (json学习七)使用JSON的方法
mincheat
博客等级 码龄17年 46粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值