Here is my code:
assertEquals( gson.fromJson("[{"vehicle_side":"driver","vehicle_occupant_role":"driver","vehicle_window":"front_right","window_status":10.0}]", List.class), gson.fromJson(myJsonObject, List.class) );
The assertion fails because:
Expected :[{vehicle_window=front_right, vehicle_occupant_role=driver, window_status=10.0, vehicle_side=driver}] Actual :[{"vehicle_side":"driver","vehicle_occupant_role":"driver","vehicle_window":"front_right","window_status":10.0}]
Why does my expected object contain =
instead of :
?
I even tried it with the actual json string hardcoded, but I get the same result:
Advertisement
Answer
By default, the toString()
is mapping ':'
to '='
. To resolve this, use get the jsonString
from myJsonObject
and pass it to gson.fromJson()
. You can use ObjectMapper for this, or Gson itself.
with objectMapper:
objectMapper.writeValueAsString(myJsonObject);
with Gson:
gson.toJson(myJsonObject);