diff --git a/hutool-json/pom.xml b/hutool-json/pom.xml
index 0582aa7fe..8326fd31e 100755
--- a/hutool-json/pom.xml
+++ b/hutool-json/pom.xml
@@ -41,7 +41,6 @@
2.11.0
2.0.41
1.15.1
- 1.37
@@ -108,18 +107,5 @@
${jjwt.version}
test
-
-
- org.openjdk.jmh
- jmh-core
- ${jmh.version}
- test
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- ${jmh.version}
- test
-
diff --git a/hutool-json/src/main/java/org/dromara/hutool/json/JSON.java b/hutool-json/src/main/java/org/dromara/hutool/json/JSON.java
index db320452f..e490ad098 100644
--- a/hutool-json/src/main/java/org/dromara/hutool/json/JSON.java
+++ b/hutool-json/src/main/java/org/dromara/hutool/json/JSON.java
@@ -225,7 +225,9 @@ public interface JSON extends Serializable {
* @throws JSONException 包含非法数抛出此异常
*/
default String toJSONString(final int indentFactor) throws JSONException {
- return toJSONString(indentFactor, null);
+ final JSONWriter jsonWriter = getFactory().ofWriter(new StringBuilder(), indentFactor);
+ this.write(jsonWriter);
+ return jsonWriter.toString();
}
/**
diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/jmh/JsonToStringJmh.java b/hutool-json/src/test/java/org/dromara/hutool/json/jmh/JsonToStringJmh.java
index e5ebaaffe..fa7bff5cc 100644
--- a/hutool-json/src/test/java/org/dromara/hutool/json/jmh/JsonToStringJmh.java
+++ b/hutool-json/src/test/java/org/dromara/hutool/json/jmh/JsonToStringJmh.java
@@ -38,12 +38,6 @@ public class JsonToStringJmh {
Assertions.assertNotNull(jsonStr);
}
- @Benchmark
- public void gsonAppendJmh() {
- final String jsonStr = gson.toString();
- Assertions.assertNotNull(jsonStr);
- }
-
@Benchmark
public void hutoolJmh() {
final String jsonStr = hutoolJSON.toString();
diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/jmh/ParseTreeJmh.java b/hutool-json/src/test/java/org/dromara/hutool/json/jmh/ParseTreeJmh.java
index ab8dd2816..89703abfd 100644
--- a/hutool-json/src/test/java/org/dromara/hutool/json/jmh/ParseTreeJmh.java
+++ b/hutool-json/src/test/java/org/dromara/hutool/json/jmh/ParseTreeJmh.java
@@ -1,6 +1,9 @@
package org.dromara.hutool.json.jmh;
import com.alibaba.fastjson2.JSON;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import org.dromara.hutool.json.JSONObject;
@@ -49,4 +52,11 @@ public class ParseTreeJmh {
final com.alibaba.fastjson2.JSONObject jsonObject = JSON.parseObject(jsonStr);
assertNotNull(jsonObject);
}
+
+ @Benchmark
+ public void jacksonJmh() throws JsonProcessingException {
+ final ObjectMapper mapper = new ObjectMapper();
+ final JsonNode jsonNode = mapper.readTree(jsonStr);
+ assertNotNull(jsonNode);
+ }
}
diff --git a/pom.xml b/pom.xml
index 97da953f8..e4a9b140c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -58,6 +58,7 @@
5.10.3
1.18.34
1.9.25
+ 1.37
@@ -81,6 +82,19 @@
${lombok.version}
test
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+ test
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+ test
+