Jackson数据绑定功能可以使用String键和Object值(也可以是地图或集合)读取Map中的任何json输入.您只是告诉映射器,您想将json读入映射.您可以通过给映射器适当的类型引用来做到这一点:

import java.util.*;

import com.fasterxml.jackson.core.type.TypeReference;

import com.fasterxml.jackson.databind.ObjectMapper;

public class Test

{

public static void main(String[] args)

{

try {

String json = "{ "

+ "\"string-property\": \"string-value\", "

+ "\"int-property\": 1, "

+ "\"bool-property\": true, "

+ "\"collection-property\": [\"a\", \"b\", \"c\"], "

+ "\"map-property\": {\"inner-property\": \"inner-value\"} "

+ "}";

ObjectMapper mapper = new ObjectMapper();

Map map = new HashMap<>();

// convert JSON string to Map

map = mapper.readValue(json, new TypeReference>(){});

System.out.println("input: " + json);

System.out.println("output:");

for (Map.Entry entry : map.entrySet()) {

System.out.println("key: " + entry.getKey());

System.out.println("value type: " + entry.getValue().getClass());

System.out.println("value: " + entry.getValue().toString());

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

输出:

input: { "string-property": "string-value", "int-property": 1, "bool-property": true, "collection-property": ["a", "b", "c"], "map-property": {"inner-property": "inner-value"} }

output:

key: string-property

value type: class java.lang.String

value: string-value

key: int-property

value type: class java.lang.Integer

value: 1

key: bool-property

value type: class java.lang.Boolean

value: true

key: collection-property

value type: class java.util.ArrayList

value: [a, b, c]

key: map-property

value type: class java.util.LinkedHashMap

value: {inner-property=inner-value}

java jackson json_使用Java和Jackson将Json序列化为通用结构而无...相关推荐

  1. java byte json_关于java:当前推荐的将byte []转换为JsonNode并返回的方法

    我想从java字节数组中读取一个JSON"树",并使用Jackson将JSON"树"作为java字节数组写回. 一种方法如下所示: ObjectMapper o ...

  2. java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...

    java+解析未知json 使用Jackson API在Java中解析JSON时的常见问题之一是,当您的JSON包含未知属性(即您的Java类没有对应于所有JSON属性的所有字段)时,该操作将失败. ...

  3. java为什么序列化不一致_java – 为什么Jackson多态序列化在列表中不起作用?

    杰克逊正在做一些真正奇怪的事情,我找不到任何解释.我正在进行多态序列化,当一个对象独立时它可以很好地工作.但是,如果将相同的对象放入列表并对列表进行序列化,则会删除类型信息. 它丢失类型信息的事实将导 ...

  4. Jackson通过反射将Json转化为java对象

    Jackson的功能比较强大,我们这里主要使用Data Binding的方式,来看看如何使用反射将json转化为java bean,先加入如下依赖: Jackson 的核心模块由三部分组成. jack ...

  5. 转换json_使用Java将JSON转换为POJO

    如果您有要映射到POJO而不需要编写完整的POJO类的JSON,则可以使用jsonschema2pojo库.这是一个出色的库,可以使用输入的JSON创建Java类. 先决条件 程式语言:Java Po ...

  6. axis2 json_带有Java和Axis2的JSON Web服务

    axis2 json 我最近遇到一位客户,要求我使用Java Web服务重建其旧产品. 他们希望它模块化并且易于使用. 我想到的第一件事是使用宁静的方法. 但是让我烦恼的是,Java宁静的方法是使用X ...

  7. Java解析SQL记录为JSON_Oracle解析复杂json的方法

    问题背景: 当前在Oracle数据库(11G之前的版本)解析json没有可以直接使用的系统方法,网上流传的PLSQL脚本大多也只可以解析结构较单一的json串,对于结构复杂的json串还无法解析.如此 ...

  8. jackson 反序列化string_Java 中使用Jackson反序列化

    Build.gradle: compile group: 'org.codehaus.jackson', name: 'jackson-mapper-lgpl', version: '1.9.13' ...

  9. Jackson 框架使用教程,轻易转换JSON

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在线博文:http://www.open- ...

最新文章

  1. pycharm怎么修改语言为中文?(不用汉化包)
  2. 下面属于javascript内部对象的有_JavaScript从零开始——面向对象编程(2)
  3. iOS应用开发最佳实践
  4. ORACLE 批量实例分析
  5. 磁盘测试----fio
  6. 51Nod-1134 最长递增子序列【LIS】
  7. 1. 少了一个PermMissingElem Find the missing element in a given permutation.
  8. python学习笔记 day33 ftp大作业(未完成)
  9. 站在巨人的肩膀上学习Android开发
  10. 【C#】Activator.CreateInstance用法
  11. 动态规划-试题(1)-扔玻璃珠
  12. 【人脸表情识别】基于视频的人脸表情识别数据集与基本方法
  13. 服务器不能创建对象教务系统,[转]解决强智教务系统非IE下无法创建对象错误...
  14. 铝电解电容的寿命计算(纹波电流法)手把手教你
  15. 一段很现实的话适合发朋友圈文案
  16. 7.9.9路由Routers
  17. pinta(centos7画图软件)
  18. [PHP] 解决TP5 出现错误 continue targeting switch is equivalent to break. Did you mean to use continue...
  19. Linux磁盘扩展(非LVM+LVM)
  20. oracle ebs R12审批流程

热门文章

  1. 学习之路三十一:Varchar和NVarchar的理解
  2. SQL对象名无效怎么办法 华骨龙
  3. 关于img图片的onerror属性
  4. TCP首部和TCP的特性—Vecloud微云
  5. CentOS上修改用户名
  6. 前端相关的一些小工具
  7. 开启 J2EE(七)— Model1、Model2和三层架构的演变
  8. appium---【Mac】Appium-Doctor提示WARN:“ ios_webkit_debug_proxy cannot be found”解决方案...
  9. 20145317 《网络对抗技术》免杀原理与实践
  10. 计算机●编程语言●JAVA