Now you can use json string as argument matchers
when(myMock.methodCall(jsonEq("{\"firstName\":\"Bill\", \"lastName\":\"Gates\"}"))).thenReturn(myResponse);
or
verify(myMock, times(1)).methodCall(jsonEq("{\"firstName\":\"Bill\", \"lastName\":\"Gates\"}")));
which is useful as it'll be safer than testing with raw string values. This approach allows the json structure to have the fields in any order and will also match regardless of multiple lines or minimal whitespace.