Java读写json

实例用的json文件

   
  1. {"persons":[{"name":"Assad","home":"Guangzhou"},{"name":"John","home":"Shanghai"}]}
1、读取JSON对象
    
  1. public static void read(){
  2. //从.json文件读取json字符串
  3. StringBuilder jsonStr = new StringBuilder();
  4. try{
  5. BufferedReader reader = new BufferedReader(new FileReader(new File("test_create.json"))); //或者使用Scanner
  6. String temp = "";
  7. while((temp = reader.readLine())!= null)
  8. jsonStr.append(temp);
  9. reader.close();
  10. }catch (IOException ex){
  11. ex.printStackTrace();
  12. }
  13. //将json字符串转化为JSON对象,并读取内容
  14. try{
  15. JSONObject json = new JSONObject(jsonStr.toString());
  16. JSONArray jsonMembers = json.getJSONArray("persons");
  17. for(int i=0;i<jsonMembers.length();i++){
  18. JSONObject person = (JSONObject)jsonMembers.get(i);
  19. String name = (String)person.get("name"); //获取JSON对象的键值对
  20. String home = (String)person.get("home");
  21. System.out.println("name:"+name+"\nhome:"+home);
  22. }
  23. }catch(JSONException ex){
  24. ex.printStackTrace();
  25. }
  26. }
2、修改JSON对象
    
  1. public static void updateAndSave(){
  2. try{
  3. JSONObject json = new JSONObject("{\"persons\":[{\"name\":\"Assad\",\"home\":\"Guangzhou\"},{\"name\":\"John\",\"home\":\"Shanghai\"}]}");
  4. //增加JSON对象键值对
  5. JSONArray jsonMembers = json.getJSONArray("persons");
  6. JSONObject member3 = new JSONObject();
  7. member3.put("name","Time");
  8. member3.put("home","Beijing");
  9. jsonMembers.put(member3);
  10. //删除JSON对象键值对
  11. JSONObject member1 = (JSONObject) jsonMembers.get(0); //删除第一个成员的name字段
  12. member1.remove("name");
  13. System.out.println(json.toString()); //show
  14. }catch(JSONException ex){
  15. ex.printStackTrace();
  16. }
  17. }
3、创建JSON对象并保存为.json文件
    
  1. public static void create(){
  2. //创建JSON对象
  3. //①直接构造JSON对象
  4. JSONObject json = new JSONObject();
  5. try {
  6. JSONArray jsonMembers = new JSONArray(); //创建json数组
  7. JSONObject member1 = new JSONObject(); //创建空json对象
  8. member1.put("name","Assad"); //向json对象中放置键值对
  9. member1.put("home","Guangzhou");
  10. JSONObject member2 = new JSONObject();
  11. member2.put("name","John");
  12. member2.put("home","Shanghai");
  13. jsonMembers.put(member1);
  14. jsonMembers.put(member2);
  15. json.put("persons",jsonMembers);
  16. }catch(JSONException ex){
  17. ex.printStackTrace();
  18. }
  19. //②直接将Java对象转化为JSON对象
  20. Perosns persons= new Persons();
  21. JSONObject json = JSONObject.formObject(persons);*/
  22. //写入文件:将JSON对象转化为字符串后写入文件
  23. String jsonStr = json.toString(); //将JSON对象转化为字符串
  24. try{
  25. PrintWriter writer = new PrintWriter(new BufferedWriter(new FileWriter(new File("test_create.json"))));
  26. writer.write(jsonStr);
  27. writer.close();
  28. }catch(IOException ex){
  29. ex.printStackTrace();
  30. }
  31. }

Java读写json相关推荐

  1. java读写json格式的文件方法详解.txt,并批量存储进redis

    捐躯赴国难,视死忽如归.恸哭六军俱缟素,冲冠一怒为红颜.君子坦荡荡,小人长戚戚.风日晴和人意好,夕阳箫鼓几船归.民为贵,社稷次之,君为轻.Java 读写json格式的文件方法详解 文章录入:7747. ...

  2. Java 读写json格式的文件方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.要解决这个问题首先要知道json格式是什么? JSON格式: 比如学生有学号,姓名,性别等. 用json表示则为: {&q ...

  3. java如何读写json文件

    java如何读写json文件 在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是 ...

  4. GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换

    GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...

  5. java封装json串示例_Java JSON示例

    java封装json串示例 Welcome to the Java JSON Example Tutorial. JSON (JavaScript Object Notation) is text-b ...

  6. Java读写Excel原来这么简单

    前言 相信现在很多搞后端的同学大部分做的都是后台管理系统,那么管理系统就肯定免不了 Excel 的导出导入功能,今天我们就来介绍一下 Java 如何实现 Excel 的导入导出功能. Java领域解析 ...

  7. Java处理json编程之Jackson使用篇

    文章目录 Java处理json编程之Jackson使用篇 Jackson概述 使用步骤 场景 1. 数组和json串的互相转换 2. map和json串的互相转换 3. list和json串的互相转换 ...

  8. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  9. [原创]java读写word文档,完美解决方案

    [原创]java读写word文档,完美解决方案 参考文章: (1)[原创]java读写word文档,完美解决方案 (2)https://www.cnblogs.com/ziwuxian/p/89812 ...

最新文章

  1. C/C++流程图生成器 C转流程图【worldsing笔记】
  2. Tomcat三种模式及配置APR模式
  3. python打开文件_python如何学习
  4. git上传自己的代码
  5. python6翻_洗礼灵魂,修炼python(6)--活起来的代码+列表
  6. 关于不能远程连接Linux中Mysql数据库的问题
  7. 压缩感知(III) A Compressed Sense of Compressive Sensing (III)
  8. swift瀑布流实现_CSS 实现瀑布流布局(display: flex)
  9. 应用分类练手项目计划
  10. 在.Net环境下使用elasticsearch实现大数据量的搜索
  11. [jQuery] jQuery的attr和prop方法有什么区别?
  12. MySQL数据库分区的概念与2大好处(1)
  13. SpringBoot 中 get/post 请求处理方式,以及requestboy为Json时的处理
  14. php面向对象开发技术 课本,PHP面向对象编程-高级技术书 - php
  15. js前端之浅拷贝与深拷贝
  16. CVE-2020-1938/CNVD-2020-10487:Apache Tomcat 远程执行代码漏洞
  17. 重拾Java基础知识:设计模式
  18. 筑梦前行 向新而生 华云数据西北区域公司正式乔迁
  19. MySQL数据库之设置密码修改密码用户名
  20. OSX: iWorm从何而来?

热门文章

  1. pdfbox或icepdf转换PDF为图片时,中文乱码处理
  2. SQL数据库管理—DBCC数据库修复
  3. 【黄啊码】vue配合PHP实现导出excel进度条显示
  4. 第十二届noc网络机器人赛项成绩_2017年第15届中小学NOC活动全国决赛机器人超市购物赛项获奖结果...
  5. 2023最新整理,340份各行业求职简历模板,找工作必备!
  6. Arcgis API For js 的离线部署
  7. angularjs 关于Module 'ngLocale' is not available! is misleading
  8. 联盟链系统开发 联盟链开发多钱
  9. java开发测试工具
  10. NOIP2018 自闭记