一个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"}。

转载于:https://www.cnblogs.com/Sunnor/p/5934036.html

jackson的简单实用实例(json)相关推荐

  1. ajax 示例代码,Ajax的简单实用实例代码

    我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在UsersAction类中的checkUser方法中接收并验证前台的表单数据,针对不同情况,返回一个状态码cod ...

  2. php ajax简单实例代码,Ajax的简单实用实例代码

    这篇文章主要介绍了Ajax的简单实用实例代码,对ajax感兴趣的朋友可以参考下Ajax的简单实用的方法 我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在User ...

  3. python简单实用案例_Ajax的简单实用实例代码

    细说SSO单点登录(转) OAuth2.0:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-s ...

  4. matlab简单程序实例_visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)...

    近期疫情原因,工作比较不忙,所以打算出一套零基础,VB.NET实例系列入门教程,实用又好玩,带大家进入VB的编程世界里,希望这套图文教程能帮到有需要的人! 第一节(简单实用抽奖程序) 内容准备:编译环 ...

  5. python读取excel表格-python读写Excel表格的实例代码(简单实用)

    安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...

  6. php注入类,简单实用的PHP防注入类实例

    这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注入类 ...

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

    利用ul和li可以实现列表效果,下面就是一个简单的演示. 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  8. php注入类,简单实用的PHP防注入类实例_PHP

    本文实例讲述了简单实用的PHP防注入类.分享给大家供大家参考.具体如下: PHP防注入注意要过滤的信息基本是get,post,然后对于sql就是我们常用的查询,插入等等sql命令了,下面我给各位整理两 ...

  9. visual basic VB.NET实例系列教程第一节(简单实用抽奖程序)

    近期疫情原因,工作比较不忙,所以打算出一套零基础,VB.NET实例系列入门教程,实用又好玩,带大家进入VB的编程世界里,希望这套图文教程能帮到有需要的人! 第一节(简单实用抽奖程序) 内容准备:编译环 ...

  10. 7. Jackson用树模型处理JSON是必备技能,不信你看

    每棵大树,都曾只是一粒种子.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...

最新文章

  1. 卷进大厂系列之LeetCode刷题笔记:移除链表元素(简单)
  2. -bash:command not found
  3. 解决Virtualbox无法安装Windows 8.1
  4. Logistic Regression 模型简介
  5. c语言如何赋值星期到字母,C语言程序设计课程教案.doc
  6. 在线电脑配置PHP源码,域名授权系统PHP源码 V2.7.0 支持盗版追踪
  7. 神器 Nginx 的学习手册 ( 建议收藏 )
  8. 沉淀,再出发:docker的原理浅析
  9. Clojure的并发(七)pmap、pvalues和pcalls
  10. 190208每日一句
  11. java的基本数据类型转换。
  12. DWM1000 Blink结构 -- 帧过滤第一节
  13. 研究了一堆英语学习软件,发现了一个美国宝藏口语App,国内也能用!
  14. ArcEngine代码 浏览器端图形JSON与后端IGeometry相互转换
  15. 【Java】Java基础
  16. 炉石传说 疯狂爆破者空场炸死2个精灵龙的概率
  17. Day Nine——白噪声检测及确定p、d、q值和模型的检验
  18. 电气火灾监控系统在某市新能源有轨电车示范线工程案例
  19. 调试iphone上html,如何调试 iPhone Safari 浏览器的CSS兼容问题
  20. mvc php 代码审计,代码审计从入门到放弃系列篇一之代码审计学习思路

热门文章

  1. Spring Boot的MyBatis注解:@MapperScan和@Mapper
  2. Spring事务管理(二)分布式事务管理之JTA与链式事务
  3. Jenkins控制台出现中文乱码
  4. 桌面圣诞树酷炫特效合集【含动态效果展示及网盘源码分享】
  5. Redis随项目启动或CRUD进行缓存数据
  6. libevent源码深度剖析-张亮
  7. 一些简单的git命令及操作
  8. [日期]字符串转Data对象
  9. 怎么通过安装包安装mysql_教你安装Mysql(解压版/非安装包)图文教程
  10. linux7dhcpd服务命令,CentOS7系统架设DHCP服务