From 1f239ecab6c65cda6ea4f3d5059936058467850d Mon Sep 17 00:00:00 2001 From: Karl Moore Date: Thu, 11 Apr 2013 16:29:03 +0100 Subject: [PATCH] Preserve key ordering when serializing and parsing. See https://code.google.com/p/json-smart/issues/detail?id=36 --- .../jayway/jsonpath/spi/impl/JsonSmartJsonProvider.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/json-path/src/main/java/com/jayway/jsonpath/spi/impl/JsonSmartJsonProvider.java b/json-path/src/main/java/com/jayway/jsonpath/spi/impl/JsonSmartJsonProvider.java index 0a20f295..a6ba0876 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/spi/impl/JsonSmartJsonProvider.java +++ b/json-path/src/main/java/com/jayway/jsonpath/spi/impl/JsonSmartJsonProvider.java @@ -18,6 +18,7 @@ import com.jayway.jsonpath.InvalidJsonException; import com.jayway.jsonpath.spi.Mode; import net.minidev.json.JSONArray; import net.minidev.json.JSONObject; +import net.minidev.json.parser.ContainerFactory; import net.minidev.json.parser.JSONParser; import net.minidev.json.parser.ParseException; @@ -55,7 +56,7 @@ public class JsonSmartJsonProvider extends AbstractJsonProvider { public Object parse(String json) { try { - return parser.parse(json); + return parser.parse(json, ContainerFactory.FACTORY_ORDERED); } catch (ParseException e) { throw new InvalidJsonException(e); } @@ -64,7 +65,7 @@ public class JsonSmartJsonProvider extends AbstractJsonProvider { @Override public Object parse(Reader jsonReader) throws InvalidJsonException { try { - return parser.parse(jsonReader); + return parser.parse(jsonReader, ContainerFactory.FACTORY_ORDERED); } catch (ParseException e) { throw new InvalidJsonException(e); } @@ -73,7 +74,7 @@ public class JsonSmartJsonProvider extends AbstractJsonProvider { @Override public Object parse(InputStream jsonStream) throws InvalidJsonException { try { - return parser.parse(new InputStreamReader(jsonStream)); + return parser.parse(new InputStreamReader(jsonStream), ContainerFactory.FACTORY_ORDERED); } catch (ParseException e) { throw new InvalidJsonException(e); }