File tree Expand file tree Collapse file tree 2 files changed +28
-9
lines changed
main/java/com/github/underscore
test/java/com/github/underscore Expand file tree Collapse file tree 2 files changed +28
-9
lines changed Original file line number Diff line number Diff line change @@ -3070,12 +3070,19 @@ private static Object makeReplaceNumberAndBoolean(Object value) {
30703070 if (value instanceof List ) {
30713071 List <Object > values = newArrayList ();
30723072 for (Object item : (List ) value ) {
3073- values .add (
3074- item instanceof Map ? replaceNumberAndBooleanWithString ((Map ) item ) : item );
3073+ if (item instanceof Map ) {
3074+ values .add (replaceNumberAndBooleanWithString ((Map ) item ));
3075+ } else if (item instanceof Number || item instanceof Boolean || isNull (item )) {
3076+ values .add (String .valueOf (item ));
3077+ } else {
3078+ values .add (item );
3079+ }
30753080 }
30763081 result = values ;
30773082 } else if (value instanceof Map ) {
30783083 result = replaceNumberAndBooleanWithString ((Map ) value );
3084+ } else if (isNull (value )) {
3085+ result = "null" ;
30793086 } else {
30803087 result = value ;
30813088 }
Original file line number Diff line number Diff line change @@ -1092,21 +1092,33 @@ void forceRemoveArrayTrue() {
10921092 void forceRemoveArrayTrueBooleanAndNumber () {
10931093 assertEquals (
10941094 "<?xml version=\" 1.0\" encoding=\" UTF-8\" ?>\n "
1095- + "<data>\n "
1096- + " <a>b</a>\n "
1097- + " <c>true</c>\n "
1098- + " <d>1</d>\n "
1099- + " <e></e>\n "
1100- + "</data>" ,
1095+ + "<root>\n "
1096+ + " <data>\n "
1097+ + " <a>b</a>\n "
1098+ + " <c>true</c>\n "
1099+ + " <d>1</d>\n "
1100+ + " <e></e>\n "
1101+ + " <f>null</f>\n "
1102+ + " </data>\n "
1103+ + " <data2>true</data2>\n "
1104+ + " <data2>1</data2>\n "
1105+ + " <data2>null</data2>\n "
1106+ + "</root>" ,
11011107 U .jsonToXml (
11021108 "{\n "
11031109 + " \" data\" : [\n "
11041110 + " {\n "
11051111 + " \" a\" : \" b\" ,\n "
11061112 + " \" c\" : true,\n "
11071113 + " \" d\" : 1,\n "
1108- + " \" e\" : {}\n "
1114+ + " \" e\" : {},\n "
1115+ + " \" f\" : null\n "
11091116 + " }\n "
1117+ + " ],\n "
1118+ + " \" data2\" : [\n "
1119+ + " true,\n "
1120+ + " 1,\n "
1121+ + " null\n "
11101122 + " ]\n "
11111123 + "}" ,
11121124 U .Mode .FORCE_REMOVE_ARRAY_BOOLEAN_NUMBER_ATTRIBUTES_JSON_TO_XML ));
You can’t perform that action at this time.
0 commit comments