场景:
字串 :{“scheduler”:[{“type”:“fairScheduler”}],“scheduler”:{“type”:“faier”}}
经转化------> 目标 :{“scheduler”:[{“type”:“fairScheduler”},{“type”:“faier”}]}
难点:
普通的jsonObject类,如com.fasterxml.jackson.databind.JsonNode; 和fastjson(alibaba.jsonObject)会将重复的key只保留其中的一个!
解决:
使用net.sf.json.JSONObject 可以实现。
使用方式:
1、引入依赖
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
2、实现功能,例子:
JSONObject jsonObject = JSONObject.fromObject("{\"scheduler\":[{\"type\":\"fairScheduler\"}],\"scheduler\":{\"type\":\"faier\"}}");
System.out.println( "net.sf.json.JSONObject: " + jsonObject );
// 之后可以将jsonObject直接使用或者转化为字串(此时已经是不含重复key的字串)转化为熟悉的fastJson的jsonObject使用