jackson Read 读取 json 文件和 Write 写入 json 文件 读写 json 文件
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 文件相关推荐
- python读取docx的内容输出_Python应用 , 读写docx文件!
字处理软件是平时办公必备的同时也是最常用的软件之一,而字处理软件用的最多最频繁的就是微软的word,其扩展名为docx.在日常工作中,可能需要对很多的docx文件进行批处理,例如教师在批阅学生提交的电 ...
- chrome html 读写文件路径,Chrome浏览器支持直接读写本地文件了
本文首发于公众号:符合预期的CoyPan 写在前面 最新版的Chrome(Chrome 83, 须要开启权限)支持直接读写本地文件了.javascript 开启方法:Chrome浏览器升级到83版本以 ...
- python读写csv文件方法总结_使用python读写CSV文件的三种方法
Python读写csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是 ...
- c 语言解析png图片文件信息,利用C/C++二进制读写png文件的方法示例
前言 二进制文件不是以ASCII代码存放数据的,它将内存中数据存储形式不加转换地传送到磁盘文件,因此它又称为内存数据的映像文件.因为文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为 ...
- JAVA读取文件IO流写入H2_IO流中操作文件中的返回值数据格式有问题
result里面的base64后面应该是冒号(:),现在我取不到base64的值.而且result的值是不是应该是个对象 :求解 { "fileName":"/stora ...
- python怎么读取中文文件-Python中使用不同编码读写txt文件详解
复制代码 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt",& ...
- 如何正确地把服务器端返回的文件二进制流写入到本地保存成文件
我使用 Node.js 的 request 工具库,请求服务器端的视频文件,保存到本地之后,发现了问题. 我把 url 输入到浏览器里,手动下载视频文件后,文件大小为 70 多 KB: 然而使用 No ...
- java 读取excel 合并单元格_利用java读写Excel文件、合并单元格
一般的页眉页脚都分为三个部分,左,中,右三部分,利用如下代码可实现插入页眉页脚 java 代码publicstaticvoidsetHeader(WritableSheet dataSheet,Str ...
- 【C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解】
文章目录 一.json文件简介 1.json文件 2.json与其他存储数据方式比较 二.C++操作json文件 1.jsoncpp 库下载 2.C++从字符串中读取json 1.简单json样式 2 ...
- C++ 之 C++ 操作 json 文件(C++读写json文件)及jsoncpp配置详解
目录 前言 一.json文件简介 1.json文件 2.json与其他存储数据方式比较 二.C++操作json文件 1.jsoncpp 库下载 2.C++从字符串中读取json 3.C++从文件中读取 ...
最新文章
- nojy 105 九的余数
- Selenium之定位元素常用的8种方法整理(第一篇)
- 【计算机网络】应用层 : DNS 域名解析系统 ( 域名 | 域名服务器 | 域名解析过程 | 递归查询 | 迭代查询 | 高速缓存 )
- 如何了解这个世界(社会)运行的本质
- web服务器的性能体现,Web应用服务器的性能问题分析
- C++中transform的用法
- Leetcode题库 2038.邻色同删(双指针法 C实现)
- 使用Python requests post上传图片及示例demo
- 中汽中心软件测评中心与紫光国微达成芯片认证合作
- 使用nginx负载均衡的webservice wsdl访问不到_谁说前端不用懂,Nginx 反向代理与负载均衡(超实用)...
- vue学习笔记-12-计算属性
- 775针服务器cpu性能排行,e7500(775针cpu天梯图)
- Maya粒子消散特效制作(三)
- 微信小程序-仿微信朋友圈
- 用Matlab实现人脸 68 landmarks详细教程
- 酷客多荣获“2018年度中国最具创新力小程序品牌”奖
- Mac - was compiled with optimization - stepping may behave oddly; variables may not be available.
- python游戏背景音乐循环播放_9.2 播放背景音乐_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python_Python视频-51CTO学院...
- 挑逗新兴科技创业圈兴奋中枢,保险极客“百万医疗”搞事情
- JavaScript 中的事件类型2(读书笔记思维导图)
热门文章
- 【BP回归预测】基于matlab文化算法优化BP神经网络数据回归预测【含Matlab源码 2124期】
- 北大青鸟java项目实践_s2 北大青鸟Java S2 八个上机考试项目 Develop 249万源代码下载- www.pudn.com...
- 固态继电器的五大优势
- 利用脑电图(EEG)检测自闭症儿童大脑微状态的改变
- 在控制面板,管理工具找不到Internet 信息服务
- 绝了!搜狗输入法这骚操作!
- java字符动画badapple_学完IO 做了点小东西 控制台动画BadApple 感兴趣的进来~
- 使用StreamReader逐行读取文件
- XP下超级终端的配置
- 下午尝试了php上床文件到服务器,终于搞定了。