title: Verify content of nlohmann json which is member of mocked method argument
body: <p>Assume I got a some Message class object which has nlohmann json as private member and public getter:</p>
  <pre><code>class Message{
  public:
    nlohmann::json getJson() { return json_;}
    ...
  private:
    nlohmann::json json_;
    ...
  };
  </code></pre>
  <p>Also there is a class that publishes the message</p>
  <p>ex:</p>
  <pre><code>class Foo {
  public:
    publish(const Message&amp; message)
    ...
  };
  </code></pre>
  <p>In the test I am mocking the <code>Foo::publish</code> method and in some scenario I want to check if <code>json_[&quot;key1&quot;][&quot;key2&quot;]</code> value is different than &quot;&quot; (empty string)</p>
  <pre><code>EXPECT_CALL(
    *foo_mock_pointer,
    publish(x) // x is the unknown code
  );
  </code></pre>
  <p>For checking the value of the json object I guess it will be enough:
  <code>testing::Contains(testing::Pair(&quot;key1&quot;, testing::Pair(&quot;key2&quot;), testing::Ne(&quot;&quot;)))</code></p>
  <p>But I cant figure out how to get the json from Message object which is the argument of the mocked method.</p>