Gson returns Json 对象用 `=` 而不是 `:`

Gson returns Json object with `=` instead of `:`

这是我的代码:

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)
);

断言失败,因为:

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}]

为什么我期望的对象包含 = 而不是 :? 我什至尝试使用硬编码的实际 json 字符串,但我得到相同的结果:

默认情况下,toString() 映射 ':''='。要解决此问题,请使用从 myJsonObject 获取 jsonString 并将其传递给 gson.fromJson()。您可以为此使用 ObjectMapper,或 Gson 本身。

使用 objectMapper:

objectMapper.writeValueAsString(myJsonObject);

使用 Gson:

gson.toJson(myJsonObject);