Javaで生成したオブジェクトをシリアライズして標準入出力を介してC#に渡してデシリアライズしたいです。

シリアライズ、デシリアライズしたいクラスは以下のようなものです。

class Member
{
public String Name;
public String Email;
}

class Group
{
public String Name;
pubilc String Email;
public List <Member> Members;
}

上記クラスでのList<Group>をJava,C#間で受け渡ししたいです。
オブジェクトをシリアライズ、デシリアライズするには
XMLやYAMLといった形式があるみたいです。
しかしどのライブラリを使うかによって同じXMLやYAMLでも微妙に形式の違いがあるようです。
JavaのオブジェクトをC#で再生するにはJava側、C#側それぞれで
どのライブラリの組み合わせを使えば一番うまくいくでしょうか。

クラスになにも手を加えないでJavaのオブジェクトをC#で再現できるのが一番ですが、
必要ならばクラスをHashMapに変換する程度の手間は許容できます。

よろしくお願いします。