Repository: commons-lang Updated Branches: refs/heads/master e7d16c276 -> 3fadfdd69
LANG-1396 - JsonToStringStyle does not escape string names Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/3fadfdd6 Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/3fadfdd6 Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/3fadfdd6 Branch: refs/heads/master Commit: 3fadfdd69f4682f05563ce53e55743f55813f488 Parents: e7d16c2 Author: Sebb <s...@apache.org> Authored: Thu May 10 13:08:07 2018 +0100 Committer: Sebb <s...@apache.org> Committed: Thu May 10 13:08:07 2018 +0100 ---------------------------------------------------------------------- src/changes/changes.xml | 1 + .../java/org/apache/commons/lang3/builder/ToStringStyle.java | 2 +- .../org/apache/commons/lang3/builder/JsonToStringStyleTest.java | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-lang/blob/3fadfdd6/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d83bf15..cdf2a05 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -46,6 +46,7 @@ The <action> type attribute can be add,update,fix,remove. <body> <release version="3.8" date="2018-MM-DD" description="New features and bug fixes. Requires Java 7, supports Java 8, 9, 10."> + <action issue="LANG-1396" type="fix" dev="sebb">JsonToStringStyle does not escape string names</action> <action issue="LANG-1395" type="fix" dev="sebb" due=to="Jim Gan">JsonToStringStyle does not escape double quote in a string value</action> <action issue="LANG-1384" type="fix" dev="erans" due-to="Ian Young">New Java version ("11") must be handled</action> <action issue="LANG-1364" type="fix" dev="pschumacher" due-to="Zheng Xie">ExceptionUtils#getRootCause(Throwable t) should return t if no lower level cause exists</action> http://git-wip-us.apache.org/repos/asf/commons-lang/blob/3fadfdd6/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java index 097332f..ff10a81 100644 --- a/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java +++ b/src/main/java/org/apache/commons/lang3/builder/ToStringStyle.java @@ -2619,7 +2619,7 @@ public abstract class ToStringStyle implements Serializable { "Field names are mandatory when using JsonToStringStyle"); } - super.appendFieldStart(buffer, FIELD_NAME_QUOTE + fieldName + super.appendFieldStart(buffer, FIELD_NAME_QUOTE + StringEscapeUtils.escapeJson(fieldName) + FIELD_NAME_QUOTE); } http://git-wip-us.apache.org/repos/asf/commons-lang/blob/3fadfdd6/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java b/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java index 82467cb..2ae391e 100644 --- a/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java @@ -387,6 +387,11 @@ public class JsonToStringStyleTest { assertEquals("{\"name\":\"Let's \\\"quote\\\" this\"}",new ToStringBuilder(base).append("name","Let's \"quote\" this").toString()); } + @Test + public void testLANG1396() { + assertEquals("{\"Let's \\\"quote\\\" this\":\"value\"}",new ToStringBuilder(base).append("Let's \"quote\" this","value").toString()); + } + /** * An object with nested object structures used to test {@link ToStringStyle.JsonToStringStyle}. *