mirror of
https://github.com/stleary/JSON-java.git
synced 2025-08-02 19:15:27 -04:00
Added one more example to XMLTest clarifyCurrentBehavior()
This commit is contained in:
parent
898288810f
commit
d520210ea2
@ -1400,16 +1400,30 @@ public class XMLTest {
|
|||||||
@Test
|
@Test
|
||||||
public void clarifyCurrentBehavior() {
|
public void clarifyCurrentBehavior() {
|
||||||
|
|
||||||
|
// Behavior documented in #826
|
||||||
|
// After reverting the code, amount is stored as numeric, and phone is stored as string
|
||||||
|
String str1 =
|
||||||
|
" <datatypes>\n" +
|
||||||
|
" <telephone>0123456789</telephone>\n" +
|
||||||
|
" <amount>0.1230</amount>\n" +
|
||||||
|
" <boolean>true</boolean>\n" +
|
||||||
|
" </datatypes>";
|
||||||
|
JSONObject jsonObject1 = XML.toJSONObject(str1,
|
||||||
|
new XMLParserConfiguration().withKeepStrings(false));
|
||||||
|
assertEquals(jsonObject1.getJSONObject("datatypes").getFloat("amount"), 0.123, .1);
|
||||||
|
assertEquals(jsonObject1.getJSONObject("datatypes").getString("telephone"), "0123456789");
|
||||||
|
|
||||||
|
|
||||||
// Behavior documented in #852
|
// Behavior documented in #852
|
||||||
// After reverting the code, value is still stored as a number. This is due to how XML.isDecimalNotation() works
|
// After reverting the code, value is still stored as a number. This is due to how XML.isDecimalNotation() works
|
||||||
// and is probably a bug. JSONObject has a similar problem.
|
// and is probably a bug. JSONObject has a similar problem.
|
||||||
String str = "<color> <color_type>primary</color_type> <value>008E97</value> </color>";
|
String str2 = "<color> <color_type>primary</color_type> <value>008E97</value> </color>";
|
||||||
JSONObject jsonObject = XML.toJSONObject(str);
|
JSONObject jsonObject2 = XML.toJSONObject(str2);
|
||||||
assertEquals(jsonObject.getJSONObject("color").getLong("value"), 0e897, .1);
|
assertEquals(jsonObject2.getJSONObject("color").getLong("value"), 0e897, .1);
|
||||||
|
|
||||||
// Workaround for now is to use keepStrings
|
// Workaround for now is to use keepStrings
|
||||||
JSONObject jsonObject1 = XML.toJSONObject(str, new XMLParserConfiguration().withKeepStrings(true));
|
JSONObject jsonObject3 = XML.toJSONObject(str2, new XMLParserConfiguration().withKeepStrings(true));
|
||||||
assertEquals(jsonObject1.getJSONObject("color").getString("value"), "008E97");
|
assertEquals(jsonObject3.getJSONObject("color").getString("value"), "008E97");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user