Drop support for org.json:json-based JSON parsing
Closes gh-8710
This commit is contained in:
parent
05cf41bd9e
commit
11c3c4c20b
|
@ -117,7 +117,6 @@
|
||||||
<joda-time.version>2.9.9</joda-time.version>
|
<joda-time.version>2.9.9</joda-time.version>
|
||||||
<jolokia.version>1.3.6</jolokia.version>
|
<jolokia.version>1.3.6</jolokia.version>
|
||||||
<jooq.version>3.9.1</jooq.version>
|
<jooq.version>3.9.1</jooq.version>
|
||||||
<json.version>20140107</json.version>
|
|
||||||
<jsonassert.version>1.5.0</jsonassert.version>
|
<jsonassert.version>1.5.0</jsonassert.version>
|
||||||
<json-path.version>2.2.0</json-path.version>
|
<json-path.version>2.2.0</json-path.version>
|
||||||
<jstl.version>1.2</jstl.version>
|
<jstl.version>1.2</jstl.version>
|
||||||
|
@ -1787,11 +1786,6 @@
|
||||||
<artifactId>jolokia-core</artifactId>
|
<artifactId>jolokia-core</artifactId>
|
||||||
<version>${jolokia.version}</version>
|
<version>${jolokia.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.json</groupId>
|
|
||||||
<artifactId>json</artifactId>
|
|
||||||
<version>${json.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jooq</groupId>
|
<groupId>org.jooq</groupId>
|
||||||
<artifactId>jooq</artifactId>
|
<artifactId>jooq</artifactId>
|
||||||
|
|
|
@ -463,11 +463,6 @@
|
||||||
<artifactId>infinispan-spring4-embedded</artifactId>
|
<artifactId>infinispan-spring4-embedded</artifactId>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.json</groupId>
|
|
||||||
<artifactId>json</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jolokia</groupId>
|
<groupId>org.jolokia</groupId>
|
||||||
<artifactId>jolokia-core</artifactId>
|
<artifactId>jolokia-core</artifactId>
|
||||||
|
|
|
@ -174,11 +174,6 @@
|
||||||
<artifactId>hibernate-validator</artifactId>
|
<artifactId>hibernate-validator</artifactId>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.json</groupId>
|
|
||||||
<artifactId>json</artifactId>
|
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.liquibase</groupId>
|
<groupId>org.liquibase</groupId>
|
||||||
<artifactId>liquibase-core</artifactId>
|
<artifactId>liquibase-core</artifactId>
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2012-2017 the original author or authors.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.springframework.boot.json;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Thin wrapper to adapt {@code org.json.JSONObject} to a {@link JsonParser}.
|
|
||||||
*
|
|
||||||
* @author Dave Syer
|
|
||||||
* @since 1.2.0
|
|
||||||
* @see JsonParserFactory
|
|
||||||
*/
|
|
||||||
public class JsonJsonParser implements JsonParser {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Map<String, Object> parseMap(String json) {
|
|
||||||
Map<String, Object> map = new LinkedHashMap<>();
|
|
||||||
putAll(map, new JSONObject(json));
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void putAll(Map<String, Object> map, JSONObject object) {
|
|
||||||
for (Object key : object.keySet()) {
|
|
||||||
String name = key.toString();
|
|
||||||
Object value = object.get(name);
|
|
||||||
if (value instanceof JSONObject) {
|
|
||||||
Map<String, Object> nested = new LinkedHashMap<>();
|
|
||||||
putAll(nested, (JSONObject) value);
|
|
||||||
value = nested;
|
|
||||||
}
|
|
||||||
if (value instanceof JSONArray) {
|
|
||||||
List<Object> nested = new ArrayList<>();
|
|
||||||
addAll(nested, (JSONArray) value);
|
|
||||||
value = nested;
|
|
||||||
}
|
|
||||||
map.put(name, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addAll(List<Object> list, JSONArray array) {
|
|
||||||
for (int i = 0; i < array.length(); i++) {
|
|
||||||
Object value = array.get(i);
|
|
||||||
if (value instanceof JSONObject) {
|
|
||||||
Map<String, Object> nested = new LinkedHashMap<>();
|
|
||||||
putAll(nested, (JSONObject) value);
|
|
||||||
value = nested;
|
|
||||||
}
|
|
||||||
if (value instanceof JSONArray) {
|
|
||||||
List<Object> nested = new ArrayList<>();
|
|
||||||
addAll(nested, (JSONArray) value);
|
|
||||||
value = nested;
|
|
||||||
}
|
|
||||||
list.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Object> parseList(String json) {
|
|
||||||
List<Object> nested = new ArrayList<>();
|
|
||||||
addAll(nested, new JSONArray(json));
|
|
||||||
return nested;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2015 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -26,7 +26,6 @@ import org.springframework.util.ClassUtils;
|
||||||
* @see GsonJsonParser
|
* @see GsonJsonParser
|
||||||
* @see YamlJsonParser
|
* @see YamlJsonParser
|
||||||
* @see JsonSimpleJsonParser
|
* @see JsonSimpleJsonParser
|
||||||
* @see JsonJsonParser
|
|
||||||
* @see BasicJsonParser
|
* @see BasicJsonParser
|
||||||
*/
|
*/
|
||||||
public abstract class JsonParserFactory {
|
public abstract class JsonParserFactory {
|
||||||
|
@ -50,9 +49,6 @@ public abstract class JsonParserFactory {
|
||||||
if (ClassUtils.isPresent("org.json.simple.JSONObject", null)) {
|
if (ClassUtils.isPresent("org.json.simple.JSONObject", null)) {
|
||||||
return new JsonSimpleJsonParser();
|
return new JsonSimpleJsonParser();
|
||||||
}
|
}
|
||||||
if (ClassUtils.isPresent("org.json.JSONObject", null)) {
|
|
||||||
return new JsonJsonParser();
|
|
||||||
}
|
|
||||||
return new BasicJsonParser();
|
return new BasicJsonParser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright 2012-2014 the original author or authors.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package org.springframework.boot.json;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests for {@link JsonJsonParser}.
|
|
||||||
*
|
|
||||||
* @author Dave Syer
|
|
||||||
*/
|
|
||||||
public class JsonJsonParserTests extends AbstractJsonParserTests {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JsonParser getParser() {
|
|
||||||
return new JsonJsonParser();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue