jackson Read Write 读取 json 文件和写入 json 文件

jackson 可以由这里获得 http://repo1.maven.org/maven2/com/fasterxml/jackson/

有时候需要将 json 写入磁盘或者由此片读取,这里提供两个例子:创建json对象并写入文件、读取 json 文件并转换为 json 对象,例子如下:

创建 JSON 对象,并写入磁盘文件 c:/temp/test.json

package test;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;import java.io.FileWriter;
import java.io.IOException;public class WriteJSON
{public WriteJSON(){}public static void main(String[] args){try{ObjectMapper mapper = new ObjectMapper();// Create the root nodeObjectNode root = mapper.createObjectNode();// Create a child nodeObjectNode node1 = mapper.createObjectNode();node1.put("nodekey1", 1);node1.put("nodekey2", 2);// Bind the child nodesroot.set("child", node1);// Array of nodesArrayNode arrayNode = mapper.createArrayNode();arrayNode.add(node1);arrayNode.add(1);// Bind array noderoot.set("arraynode1", arrayNode);root.set("arraynode2", arrayNode);try (FileWriter file = new FileWriter("c:/temp/test.json")){file.write(root.toString());file.flush();}catch (IOException e){e.printStackTrace();}}catch (Exception e){e.printStackTrace();}}
}

数据以 json 格式存储在文件 c:/temp/data.json 中,用 jackson 的 ObjectMapper 对象载入,用 JsonNode 对象即可进行读取或者存取操作。

c:/temp/data.json 文件内容:

{"data":{"birth_day":7,"birth_month":6},"errcode":0,"msg":"ok","ret":0}

java 代码如下:

import java.io.File;
import java.io.IOException;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;public class ReadJSON
{public static void main(String[] args){getJsonFile();}public static String getJsonFile(){String strResult = "";ObjectMapper objMapper = new ObjectMapper();try{// 指定文件String strText = "c:/temp/test.json";JsonNode rootNode = objMapper.readTree(new File(strText));// 指定某一个节点String strData = rootNode.get("child").toString();System.out.println(rootNode.toString());System.out.println(strData);// 获得 json 字符串strResult = rootNode.toString();}catch (JsonProcessingException e){e.printStackTrace();}catch (IOException e){e.printStackTrace();}return strResult;}}

控制台输出结果:

{"data":{"birth_day":7,"birth_month":6},"errcode":0,"msg":"ok","ret":0}
{"birth_day":7,"birth_month":6}

blog.csdn.net/joyous/article/details/50532149

Q群236201801讨论

jackson Read 读取 json 文件和 Write 写入 json 文件 读写 json 文件相关推荐

  1. python读取docx的内容输出_Python应用 , 读写docx文件!

    字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx.在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电 ...

  2. chrome html 读写文件路径,Chrome浏览器支持直接读写本地文件了

    本文首发于公众号:符合预期的CoyPan 写在前面 最新版的Chrome(Chrome 83, 须要开启权限)支持直接读写本地文件了.javascript 开启方法:Chrome浏览器升级到83版本以 ...

  3. python读写csv文件方法总结_使用python读写CSV文件的三种方法

    Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...

  4. c 语言解析png图片文件信息,利用C/C++二进制读写png文件的方法示例

    前言 二进制文件不是以ASCII代码存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,因此它又称为内存数据的映像文件.因为文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为 ...

  5. JAVA读取文件IO流写入H2_IO流中操作文件中的返回值数据格式有问题

    result里面的base64后面应该是冒号(:),现在我取不到base64的值.而且result的值是不是应该是个对象 :求解 { "fileName":"/stora ...

  6. python怎么读取中文文件-Python中使用不同编码读写txt文件详解

    复制代码 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt",& ...

  7. 如何正确地把服务器端返回的文件二进制流写入到本地保存成文件

    我使用 Node.js 的 request 工具库,请求服务器端的视频文件,保存到本地之后,发现了问题. 我把 url 输入到浏览器里,手动下载视频文件后,文件大小为 70 多 KB: 然而使用 No ...

  8. java 读取excel 合并单元格_利用java读写Excel文件、合并单元格

    一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...

  9. 【C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解】

    文章目录 一.json文件简介 1.json文件 2.json与其他存储数据方式比较 二.C++操作json文件 1.jsoncpp 库下载 2.C++从字符串中读取json 1.简单json样式 2 ...

  10. C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解

    目录 前言 一.json文件简介 1.json文件 2.json与其他存储数据方式比较 二.C++操作json文件 1.jsoncpp 库下载 2.C++从字符串中读取json 3.C++从文件中读取 ...

最新文章

  1. nojy 105 九的余数
  2. Selenium之定位元素常用的8种方法整理(第一篇)
  3. 【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )
  4. 如何了解这个世界(社会)运行的本质
  5. web服务器的性能体现,Web应用服务器的性能问题分析
  6. C++中transform的用法
  7. Leetcode题库 2038.邻色同删(双指针法 C实现)
  8. 使用Python requests post上传图片及示例demo
  9. 中汽中心软件测评中心与紫光国微达成芯片认证合作
  10. 使用nginx负载均衡的webservice wsdl访问不到_谁说前端不用懂,Nginx 反向代理与负载均衡(超实用)...
  11. vue学习笔记-12-计算属性
  12. 775针服务器cpu性能排行,e7500(775针cpu天梯图)
  13. Maya粒子消散特效制作(三)
  14. 微信小程序-仿微信朋友圈
  15. 用Matlab实现人脸 68 landmarks详细教程
  16. 酷客多荣获“2018年度中国最具创新力小程序品牌”奖
  17. Mac - was compiled with optimization - stepping may behave oddly; variables may not be available.
  18. python游戏背景音乐循环播放_9.2 播放背景音乐_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python_Python视频-51CTO学院...
  19. 挑逗新兴科技创业圈兴奋中枢,保险极客“百万医疗”搞事情
  20. JavaScript 中的事件类型2(读书笔记思维导图)

热门文章

  1. 【BP回归预测】基于matlab文化算法优化BP神经网络数据回归预测【含Matlab源码 2124期】
  2. 北大青鸟java项目实践_s2 北大青鸟Java S2 八个上机考试项目 Develop 249万源代码下载- www.pudn.com...
  3. 固态继电器的五大优势
  4. 利用脑电图(EEG)检测自闭症儿童大脑微状态的改变
  5. 在控制面板,管理工具找不到Internet 信息服务
  6. 绝了!搜狗输入法这骚操作!
  7. java字符动画badapple_学完IO 做了点小东西 控制台动画BadApple 感兴趣的进来~
  8. 使用StreamReader逐行读取文件
  9. XP下超级终端的配置
  10. 下午尝试了php上床文件到服务器,终于搞定了。