jackson的简单实用实例(json)

一个json格式的字符串比如:

{"status":10001,"code":"HDkGzI","pubkey":"DBCEEECFD3F6808C85254B1","servertime":1475741518}

,在java中对应的字符串为:

"{\"status\":10001,\"code\":\"HDkGzI\",\"pubkey\":\"DBCEEECFD3F6808C85254B1\",\"servertime\":1475741518}"

格式化后:

{
"status": 10001,
"code": "HDkGzI",
"pubkey": "DBCEEECFD3F6808C85254B1",
"servertime": 1475741518
}

有的时候我们想在这个json格式字符串中去一项,比如想去出pubkey这一项,

那么结合jackson这个工具就可以很方便地解决这个问题。

代码如下:

 1 package com.test.javaAPI.json;
 2
 3 import java.io.IOException;
 4 import java.util.Map;
 5
 6 import org.codehaus.jackson.JsonParseException;
 7 import org.codehaus.jackson.map.JsonMappingException;
 8 import org.codehaus.jackson.map.ObjectMapper;
 9 import org.junit.Test;
10
11 import com.sun.xml.internal.messaging.saaj.util.ByteOutputStream;
12
13 public class JacksonTest2 {
14     public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
15         String str = new JacksonTest2().removeJsonObjByKey(UtilJackson.jsonStr4, UtilJackson.jsonStr4_KEY1);
16         System.out.println(str);
17     }
18
19     /**
20      * 根据键除去json格式字符串中的某一个键值对
21      *
22      * @param jsonStr
23      * @param key
24      * @return
25      * @throws IOException
26      * @throws JsonMappingException
27      * @throws JsonParseException
28      */
29     public String removeJsonObjByKey(String jsonStr, String key)
30             throws JsonParseException, JsonMappingException, IOException {
31         ObjectMapper objMap = new ObjectMapper();
32         // 1 把json格式字符串转换为 java.util.Map
33         Map map = objMap.readValue(jsonStr, Map.class);
34         // 2 删除map中的对应key的项目
35         map.remove(key);
36         // 准备字节流,接收ObjectMapper中写出的输出流
37         ByteOutputStream bops = new ByteOutputStream();
38         // 3 把map重新转换为json格式字符串
39         objMap.writeValue(bops, map);
40         if (!"".equals(bops)) {
41             return bops.toString();
42         }
43         return "";
44     }
45
46     /**
47      * 方法的作用:去除一个json格式字符串的某一个key 删除 这个json字符串里的这个key对应的对象 该方法与框架中的 String
48      * cn.sinobest.framework.web.his.JsonManager.removeDataPackage(String
49      * jsonStr) 这个方法的功能一致
50      *
51      * @param jsonKey
52      * @return
53      * @throws JsonParseException
54      * @throws JsonMappingException
55      * @throws IOException
56      */
57     @Test
58     public String removeDataPackage(String jsonKey) throws JsonParseException, JsonMappingException, IOException {
59         ObjectMapper objMap = new ObjectMapper();
60         Map map = objMap.readValue(UtilJackson.jsonStr_HN, Map.class);
61         // map.remove("DataPackage");
62         map.remove(jsonKey);
63         ByteOutputStream bops = new ByteOutputStream();
64         objMap.writeValue(bops, map);
65         System.out.println(bops.toString());
66         return null;
67     }
68
69 }

其中main方法字符串分别为:

1 public static String jsonStr4 = "{\"verified\":false,\"name\":{\"last\":\"Hankcs\",\"first\":\"Joe\"},\"userImage\":\"Rm9vYmFyIQ==\",\"gender\":\"MALE\"}";
2     public static String jsonStr4_KEY1 = "verified";

运行后的结果为:

         {"name":{"last":"Hankcs","first":"Joe"},"userImage":"Rm9vYmFyIQ==","gender":"MALE"},

而原来的字符串jsonStr4为:

{"verified":false,"name":{"last":"Hankcs","first":"Joe"},"userImage":"Rm9vYmFyIQ==","gender":"MALE"}。

时间: 2024-08-06 07:55:50

jackson的简单实用实例(json)的相关文章

python--Numpy简单实用实例

# _*_ coding:utf-8 _*_ import numpy as np #创建数组 a=np.array([[1.,7.,0.],[-2.,1.,2.]]) print a #ndarray的主要属性: #ndarry.ndim数组行数 print a.ndim #naarray.shape:数组维数 print a.shape #ndarry.size:数组元素总数 print a.size #ndarray.dtype:数组元素的类型 print a.dtype #ndarray

Json.Net的介绍与简单实用(兼容2.0/3.0/3.5/4.5/RT)

本文的前提是你已经熟悉Json,如果您还不知道什么是Json是什么,请自行查看维基百科. 一.Json.Net是什么? Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象.让你轻松实现.Net中所有类型(对象,基本数据类型 等)和Json的转换. 二.为什么使用Json.Net? 我们知道在.Net中内置了读写Json

简单实用的PHP防注入类实例

这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两个简单的例子,希望这些例子能给你网站带来安全. PHP防注入类代码如下: 复制代码 代码如下: <?php /**  * 参数处理类  *

ul、li列表简单实用代码实例

ul.li列表简单实用代码实例: 利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/" /> <title>蚂蚁部落</title> &

iOS开发-NSURLConnection和NSURLSession的简单实用

一,NSURLConnection的简单实用 (一).简单请求过程 /// 1.创建url(资源路径) NSURL *url = [NSURL URLWithString:@"http://f.hiphotos.baidu.com/image/pic/item/d6ca7bcb0a46f21ff3649fbaf5246b600d33ae83.jpg"]; /// 2.创建请求 NSURLRequest *request = [NSURLRequest requestWithURL:ur

Jackson 框架,轻易转换JSON

Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些.而且Jackson社区相对比较活跃,更新速度也比较快. 一.准备工作 1. 下

JavaScript 日期格式化 简单实用

JavaScript 日期格式化 简单实用 代码如下,引入jquery后直接后加入以下代码刷新可测试 Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.

Android HttpGet() 请求简单入门实例

HttpClient httpclient = new DefaultHttpClient(); String url = "http://example.com"; List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add( new BasicNameValuePair( "param", "value" ) ); URI uri =

简单说一下 JSON和JSONP

JSON和JSONP,但从缩写看,可能会以为他们是很相似的两个名词,但他们除了缩写相似外,他们是两种类型的概念. 首先: JSON(JavaScript Object Notation)即JavaScript对象表示法,是一种轻量级的数据交换格式,注意:JSON是数据格式,也就是用来保存数据用的, JSONP(JSON with Padding) 是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题,即是一种非官方跨域数据交互协议. 举例说明:我们拿最近比较火的谍战片来打个比方