■情况

想把代码中的出现  “  ’等特殊符号时,在他们的前面,转换时自动加 \    最后转换成json

决定用ObjectMapper这个类,先准备一个Map,之后,map作为一个参数,调用ObjectMapper的方法,就能在转换时自动加上 \

■代码

  1. import java.io.IOException;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4.  
  5. import com.fasterxml.jackson.core.JsonParseException;
  6. import com.fasterxml.jackson.core.type.TypeReference;
  7. import com.fasterxml.jackson.databind.JsonMappingException;
  8. import com.fasterxml.jackson.databind.ObjectMapper;
  9. import com.fasterxml.jackson.databind.SerializationFeature;
  10.  
  11. public class ObjectMapperDemo {
  12.  
  13. public static void main(String args[]) throws JsonParseException, JsonMappingException, IOException {
  14. ObjectMapper objectMapper = new ObjectMapper();
  15. //Set pretty printing of json
  16. objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
  17.  
  18. //Define map which will be converted to JSON
  19. Map<String, String>mapIdPerson = new HashMap<String, String>();
  20. mapIdPerson.put("id", "001");
  21. mapIdPerson.put("name", "James");
  22. mapIdPerson.put("age", "13");
  23. mapIdPerson.put("address", "street \"18");
  24.  
  25. //1. Convert Map to JSON
  26. String mapToJson = objectMapper.writeValueAsString(mapIdPerson);
  27. System.out.println("1. Convert Map to JSON :");
  28. System.out.println(mapToJson);
  29.  
  30. //2. JSON to Map
  31. //Define Custom Type reference for map type
  32. TypeReference<Map<String, String>> mapType = new TypeReference<Map<String,String>>() {};
  33. Map<String,String> jsonToMap = objectMapper.readValue(mapToJson, mapType);
  34. System.out.println("\n2. Convert JSON to Map :");
  35.  
  36. // Print map output using Java 8
  37. // lambda expressions
  38. jsonToMap.forEach((k, v) ->
  39. System.out.println(k + "=" + v));
  40. }
  41. }

■运行结果

  1. 1. Convert Map to JSON :
  2. {
  3. "address" : "street \"18",
  4. "name" : "James",
  5. "id" : "001",
  6. "age" : "13"
  7. }
  8.  
  9. 2. Convert JSON to Map :
  10. address=street "18
  11. name=James
  12. id=001
  13. age=13

maven的链接如下,你可以选择自己想要的jar包版本:

https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind

java知识 特殊符号转换的更多相关文章

  1. Java知识回顾 (1) 编译环境与基本变量类型

    参考资料 runoob Java知识回顾序列的相关资料,主要来自 runoob,并对其中的知识进行概况或总结,去除对一个之前了解过Java的人员无关的知识点.以便能够使得一个新手,或之前有Java经验 ...

  2. Java 与无符号那些事儿

    最近在使用 Java 作为 WebSocket 客户端连接 Node.js 的 WebSocket 服务器的时候,由于使用的客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有 ...

  3. Android开发学习必备的java知识

    Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...

  4. 实现网络数据提取你需要哪些java知识

    本篇对一些常用的java知识做一个整合,三大特性.IO操作.线程处理.类集处理,目的在于能用这些只是实现一个网页爬虫的功能. Ⅰ 首先对于一个java开发的项目有一个整体性的了解认知,项目开发流程: ...

  5. JAVA基本数据类型及其转换

    Java语言是一种强类型语言.这意味着每个变量都必须有一个声明好的类型.Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型.Java另外还提供大数字对 ...

  6. Java知识回顾 (11) 异常处理

    距离最近的 Java知识回顾系列(10),2019.4.24日,到现在,已经近半年过去了. 感觉,做一件事情,如果有头无尾,实在不好,心里会一直悬着.所以,现在继续上面的内容. 再次声明,正如(1)中 ...

  7. 打造一款 刷Java 知识的小程序(二)

    学习Java的神器已上线,面向广大Java爱好者! 之前写的一篇:打造一款 刷Java 知识的小程序(一) 一.第二版做了什么? 第一版小程序只具有初级展示功能,知识点都是hardcode在代码里面的 ...

  8. Java页面中文编码要转换两次encodeURI

    1.js文件中使用encodeURI()方法. login_name = encodeURI(encodeURI(login_name)); 2.action中URLDecoder解码 loginNa ...

  9. system verilog中的类型转换(type casting)、位宽转换(size casting)和符号转换(sign casting)

    类型转换 verilog中,任何类型的任何数值都用来给任何类型赋值.verilog使用赋值语句自动将一种类型的数值转换为另一种类型. 例如,当一个wire类型赋值给一个reg类型的变量时,wire类型 ...

随机推荐

  1. laravel 查询指定字段的值

    $this->model->where('id',$id)->value('user');

  2. (路-莫)-Python基础一

    一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...

  3. 摄像头录制视频并且保存成mp4

    import cv2import numpy as npimport os cap = cv2.VideoCapture(1)#v4l2-ctl --list-devices 查看设备号,非正常中断时 ...

  4. 笨办法11提问-raw_input

    源代码如下,有个改动 print "How old are you?", age = raw_input() print "How tall are you?" ...

  5. 【转载】Qt中图像的显示与基本操作

    Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 参考:Qt中图像的显示与基本操作 - ykm0722的专栏 - ...

  6. xStream解析生成xml文件学习资料

    参考链接: http://www.cnblogs.com/hoojo/archive/2011/04/22/2025197.html

  7. 图解中序遍历线索化二叉树,中序线索二叉树遍历,C\C++描述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  8. 理解JavaScript的运行

    JavaScript可以运行在head和body标签中! HTML的脚本必须放在<script></script>标签中间! 浏览器会解释并执行位于script标签中的脚本! ...

  9. fftshift函数详解

    reference: https://ww2.mathworks.cn/help/matlab/ref/fftshift.html 一.实信号情况 因为实信号以fs为采样速率的信号在 fs/2处混叠, ...

  10. Java实验2

    1.给定一组字符,编程输出里面数值最大者. package experiment; import java.util.Arrays; public class ShenYue { public sta ...