Java读写json
Java读写json
实例用的json文件
{"persons":[{"name":"Assad","home":"Guangzhou"},{"name":"John","home":"Shanghai"}]}
public static void read(){
//从.json文件读取json字符串
StringBuilder jsonStr = new StringBuilder();
try{
BufferedReader reader = new BufferedReader(new FileReader(new File("test_create.json"))); //或者使用Scanner
String temp = "";
while((temp = reader.readLine())!= null)
jsonStr.append(temp);
reader.close();
}catch (IOException ex){
ex.printStackTrace();
}
//将json字符串转化为JSON对象,并读取内容
try{
JSONObject json = new JSONObject(jsonStr.toString());
JSONArray jsonMembers = json.getJSONArray("persons");
for(int i=0;i<jsonMembers.length();i++){
JSONObject person = (JSONObject)jsonMembers.get(i);
String name = (String)person.get("name"); //获取JSON对象的键值对
String home = (String)person.get("home");
System.out.println("name:"+name+"\nhome:"+home);
}
}catch(JSONException ex){
ex.printStackTrace();
}
}
public static void updateAndSave(){
try{
JSONObject json = new JSONObject("{\"persons\":[{\"name\":\"Assad\",\"home\":\"Guangzhou\"},{\"name\":\"John\",\"home\":\"Shanghai\"}]}");
//增加JSON对象键值对
JSONArray jsonMembers = json.getJSONArray("persons");
JSONObject member3 = new JSONObject();
member3.put("name","Time");
member3.put("home","Beijing");
jsonMembers.put(member3);
//删除JSON对象键值对
JSONObject member1 = (JSONObject) jsonMembers.get(0); //删除第一个成员的name字段
member1.remove("name");
System.out.println(json.toString()); //show
}catch(JSONException ex){
ex.printStackTrace();
}
}
public static void create(){
//创建JSON对象
//①直接构造JSON对象
JSONObject json = new JSONObject();
try {
JSONArray jsonMembers = new JSONArray(); //创建json数组
JSONObject member1 = new JSONObject(); //创建空json对象
member1.put("name","Assad"); //向json对象中放置键值对
member1.put("home","Guangzhou");
JSONObject member2 = new JSONObject();
member2.put("name","John");
member2.put("home","Shanghai");
jsonMembers.put(member1);
jsonMembers.put(member2);
json.put("persons",jsonMembers);
}catch(JSONException ex){
ex.printStackTrace();
}
//②直接将Java对象转化为JSON对象
Perosns persons= new Persons();
JSONObject json = JSONObject.formObject(persons);*/
//写入文件:将JSON对象转化为字符串后写入文件
String jsonStr = json.toString(); //将JSON对象转化为字符串
try{
PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(new File("test_create.json"))));
writer.write(jsonStr);
writer.close();
}catch(IOException ex){
ex.printStackTrace();
}
}
Java读写json相关推荐
- java读写json格式的文件方法详解.txt,并批量存储进redis
捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...
- Java 读写json格式的文件方法详解
2019独角兽企业重金招聘Python工程师标准>>> 一.要解决这个问题首先要知道json格式是什么? JSON格式: 比如学生有学号,姓名,性别等. 用json表示则为: {&q ...
- java如何读写json文件
java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...
- GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换
GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...
- java封装json串示例_Java JSON示例
java封装json串示例 Welcome to the Java JSON Example Tutorial. JSON (JavaScript Object Notation) is text-b ...
- Java读写Excel原来这么简单
前言 相信现在很多搞后端的同学大部分做的都是后台管理系统,那么管理系统就肯定免不了 Excel 的导出导入功能,今天我们就来介绍一下 Java 如何实现 Excel 的导入导出功能. Java领域解析 ...
- Java处理json编程之Jackson使用篇
文章目录 Java处理json编程之Jackson使用篇 Jackson概述 使用步骤 场景 1. 数组和json串的互相转换 2. map和json串的互相转换 3. list和json串的互相转换 ...
- java中将json字符串_Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
- [原创]java读写word文档,完美解决方案
[原创]java读写word文档,完美解决方案 参考文章: (1)[原创]java读写word文档,完美解决方案 (2)https://www.cnblogs.com/ziwuxian/p/89812 ...
最新文章
- C/C++流程图生成器 C转流程图【worldsing笔记】
- Tomcat三种模式及配置APR模式
- python打开文件_python如何学习
- git上传自己的代码
- python6翻_洗礼灵魂,修炼python(6)--活起来的代码+列表
- 关于不能远程连接Linux中Mysql数据库的问题
- 压缩感知(III) A Compressed Sense of Compressive Sensing (III)
- swift瀑布流实现_CSS 实现瀑布流布局(display: flex)
- 应用分类练手项目计划
- 在.Net环境下使用elasticsearch实现大数据量的搜索
- [jQuery] jQuery的attr和prop方法有什么区别?
- MySQL数据库分区的概念与2大好处(1)
- SpringBoot 中 get/post 请求处理方式,以及requestboy为Json时的处理
- php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
- js前端之浅拷贝与深拷贝
- CVE-2020-1938/CNVD-2020-10487:Apache Tomcat 远程执行代码漏洞
- 重拾Java基础知识:设计模式
- 筑梦前行 向新而生 华云数据西北区域公司正式乔迁
- MySQL数据库之设置密码修改密码用户名
- OSX: iWorm从何而来?
热门文章
- pdfbox或icepdf转换PDF为图片时,中文乱码处理
- SQL数据库管理—DBCC数据库修复
- 【黄啊码】vue配合PHP实现导出excel进度条显示
- 第十二届noc网络机器人赛项成绩_2017年第15届中小学NOC活动全国决赛机器人超市购物赛项获奖结果...
- 2023最新整理,340份各行业求职简历模板,找工作必备!
- Arcgis API For js 的离线部署
- angularjs 关于Module 'ngLocale' is not available! is misleading
- 联盟链系统开发 联盟链开发多钱
- java开发测试工具
- NOIP2018 自闭记