jackson Read 读取 json 文件和 Write 写入 json 文件 读写 json 文件
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/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 node
ObjectNode root = mapper.createObjectNode();
// Create a child node
ObjectNode node1 = mapper.createObjectNode();
node1.put("nodekey1", 1);
node1.put("nodekey2", 2);
// Bind the child nodes
root.set("child", node1);
// Array of nodes
ArrayNode arrayNode = mapper.createArrayNode();
arrayNode.add(node1);
arrayNode.add(1);
// Bind array node
root.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讨论
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:3 个月前 )
2d42229f
* Support BSON uint64 de/serialization
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com>
* Treat 0x11 as uint64 and not timestamp specific
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com>
---------
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com> 5 天前
1809b3d8
Signed-off-by: Niels Lohmann <mail@nlohmann.me> 5 天前
更多推荐
已为社区贡献5条内容
所有评论(0)