Json操作(汇总)
利用:com.fasterxml.jackson
原文地址:https://blog.csdn.net/joyous/article/details/9448461
说明:Map转化为Json;创建Json,添加节点或Array
原文地址:https://www.cnblogs.com/winner-0715/p/6109225.html
说明:Java对象转化为Json
原文地址:http://neverflyaway.iteye.com/blog/2299805
说明:读写Json文件,遍历JsonNode数组
原文地址:https://blog.csdn.net/u014452858/article/details/45650817
说明:jsonGenerator
原文地址:https://blog.csdn.net/jay_1989/article/details/51262059
说明:两种生成Json的方法。方法一:一个个结点创建。方法二:拼接字符串创建。
【方法一】生成Json
package com.pcmall; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode; public class CreateJson {
/**
* 创建一个 json,并向该 json 添加内容
*/
public static void MyTest04()
{
try
{
ObjectMapper mapper = new ObjectMapper();
ObjectNode root1 = mapper.createObjectNode(); root1.put("nodekey1", 1);
root1.put("nodekey2", 2); System.out.println(root1.toString()); //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.put ("child", node1);
//Array of nodes
ArrayNode arrayNode = mapper.createArrayNode ();
arrayNode.add (node1);
arrayNode.add (1);
//Bind array node
root.put ("arraynode", arrayNode); System.out.println (mapper.writeValueAsString (root));
// 得到的输出信息
// {"child":{"nodekey1":1,"nodekey2":2},"arraynode":[{"nodekey1":1,"nodekey2":2},1]}
}
catch (Exception e)
{ }
} public static void main(String[] args){
MyTest04();
}
}
输出结果:
{
"child": {
"nodekey1": 1,
"nodekey2": 2
},
"arraynode": [{
"nodekey1": 1,
"nodekey2": 2
},
1]
}
【方法二】生成Json
String str = "{\"data\":{\"hasnext\":0,\"info\":[{\"id\":\"288206077664983\",\"timestamp\":1371052476},{\"id\":\"186983078111768\",\"timestamp\":1370944068},{\"id\":\"297031120529307\",\"timestamp\":1370751789},{\"id\":\"273831022294863\",\"timestamp\":1369994812}],\"timestamp\":1374562897,\"totalnum\":422},\"errcode\":0,\"msg\":\"ok\",\"ret\":0,\"seqid\":5903702688915195270}";
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode root = mapper.readTree(str);
System.out.println("root" + root.toString());
} catch (IOException e) {
e.printStackTrace();
}
输出结果:
root {
"data": {
"hasnext": 0,
"info": [{
"id": "288206077664983",
"timestamp": 1371052476
},
{
"id": "186983078111768",
"timestamp": 1370944068
},
{
"id": "297031120529307",
"timestamp": 1370751789
},
{
"id": "273831022294863",
"timestamp": 1369994812
}],
"timestamp": 1374562897,
"totalnum": 422
},
"errcode": 0,
"msg": "ok",
"ret": 0,
"seqid": 5903702688915195270
}
Json操作(汇总)的更多相关文章
- Golang JSON操作汇总
直接把结构体编码成json数据 package main import ( "encoding/json" "fmt" _ "os" ) t ...
- 分享基于.NET动态编译&Newtonsoft.Json封装实现JSON转换器(JsonConverter)原理及JSON操作技巧
看文章标题就知道,本文的主题就是关于JSON,JSON转换器(JsonConverter)具有将C#定义的类源代码直接转换成对应的JSON字符串,以及将JSON字符串转换成对应的C#定义的类源代码,而 ...
- JSON资料汇总
网络入门学习资料 1.W3School的JSON教程:http://www.w3school.com.cn/json/index.asp 2.Introducing JSON[介绍JSON]:http ...
- Json操作(DynamicJson)
Json的简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了 ...
- ASP.NET 里的 JSON操作
最近项目中需要用到 JSON操作,google了一下 找到了几个比较好的操作方法.... 一 .使用 mircosoft 提供的 .NET Framework 自带的 json操作方法 1. 使用Ja ...
- PHP数组操作汇总
php 操作数组 (合并,拆分,追加,查找,删除等) - Just Code - ITeye技术网站 PHP操作数组的一些函数介绍 -- 简明现代魔法 PHP数组元素操作实例 -- 简明现代魔法 儿童 ...
- 提升效率的Linux终端快捷操作汇总
很多普通 Linux 桌面用户都对使用终端感到排斥和恐惧,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行,如:安装软件.升级系统等. 无论你是新手还是 Linux 终端使用的老鸟,系统极 ...
- Newtonsoft.Json 操作 JSON 字符串
Newtonsoft.Json介绍 在做开发的时候,很多数据交换都是以json格式传输的.而使用Json的时候,我们很多时候会涉及到几个序列化对象的使用:DataContractJsonSeriali ...
- SQL字符串操作汇总
SQL字符串操作汇总 --将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处 select stuff('hello,world!',4,4,'****') --返回值hel*** ...
- Asp.Net Core 2.0 项目实战(8)Core下缓存操作、序列化操作、JSON操作等Helper集合类
本文目录 1. 前沿 2.CacheHelper基于Microsoft.Extensions.Caching.Memory封装 3.XmlHelper快速操作xml文档 4.Serializatio ...
随机推荐
- Bootstrap 模态框 select2搜索框无法输入
去掉模态框的div中的 tabindex="-1" 这个属性 <div class="modal fade" role="dialog" ...
- 腾讯云Ubuntu服务器修改root密码
1.修改root密码 执行以下命令,按照提示修改密码 sudo passwd root 2.修改ssh配置 执行以下命令 sudo vi /etc/ssh/sshd_config 找到 PermitR ...
- linux中怎样关闭ICMP回应功能
引用自:http://blog.csdn.net/qq844352155/article/details/49700121 linux中怎样关闭ICMP回应功能 输入: echo 1 > ...
- ubuntu 16.04下如何打造 sublime python编程环境
一.安装python3 ubuntu自身是安装python2的,例如在ubuntu 16.04中安装的就是python2.7.但我想在python3的环境下进行开发所以就要安装python3. ...
- python模块之sys
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxi ...
- Cheese Aizu - 0558 (搜索题)
Time limit8000 ms Memory limit131072 kB チーズ () 問題 今年も JOI 町のチーズ工場がチーズの生産を始め,ねずみが巣から顔を出した.JOI 町は東西南北に ...
- HDU:2767-Proving Equivalences(添边形成连通图)
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2767 Proving Equivalences Time Limit: 4000/2000 MS (Ja ...
- HDU 3966 RE 树链剖分 线段树 Aragorn's Story
题意: 给出一棵树,每个顶点上有一个权值. 操作:选择一条路径,并将路径上所有的点的权值同时加或减某个数. 查询:某个点的当前权值 分析: 树链剖分完毕后,就是简单的线段树区间更新. 提交的时候注意要 ...
- Django Form two
Django_Form: 1.class TeacherNewForm(Form): username = fields.CharField( required=True, error_message ...
- 主席树 - Luogu 1001 A+B problem
看着大佬们的解法我瑟瑟发抖 我用主席树写一写吧 #include<iostream> #include<iomanip> #include<cmath> #incl ...