Browse Source

Merge branch '1.5.x'

pull/12004/merge
Stephane Nicoll 8 years ago
parent
commit
c97a9a0cb2
  1. 10
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java
  2. 9
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/json/AbstractJsonParserTests.java

10
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* Copyright 2012-2018 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.
@ -31,6 +31,7 @@ import org.springframework.util.StringUtils; @@ -31,6 +31,7 @@ import org.springframework.util.StringUtils;
*
* @author Dave Syer
* @author Jean de Klerk
* @author Stephane Nicoll
* @since 1.2.0
* @see JsonParserFactory
*/
@ -112,12 +113,7 @@ public class BasicJsonParser implements JsonParser { @@ -112,12 +113,7 @@ public class BasicJsonParser implements JsonParser {
for (String pair : tokenize(json)) {
String[] values = StringUtils.trimArrayElements(StringUtils.split(pair, ":"));
String key = trimLeadingCharacter(trimTrailingCharacter(values[0], '"'), '"');
Object value = null;
if (values.length > 0) {
String string = trimLeadingCharacter(
trimTrailingCharacter(values[1], '"'), '"');
value = parseInternal(string);
}
Object value = parseInternal(values[1]);
map.put(key, value);
}
return map;

9
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/json/AbstractJsonParserTests.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* Copyright 2012-2018 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.
@ -56,6 +56,13 @@ public abstract class AbstractJsonParserTests { @@ -56,6 +56,13 @@ public abstract class AbstractJsonParserTests {
assertThat(map.get("spam")).isEqualTo(1.23d);
}
@Test
public void stringContainingNumber() {
Map<String, Object> map = this.parser.parseMap("{\"foo\":\"123\"}");
assertThat(map).hasSize(1);
assertThat(map.get("foo")).isEqualTo("123");
}
@Test
public void emptyMap() {
Map<String, Object> map = this.parser.parseMap("{}");

Loading…
Cancel
Save