欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

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

发布时间:2025/4/17 79 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java jackson json_使用Java和Jackson将Json序列化为通用结构而无... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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序列化为通用结构而无...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。