Q:

how can I fill an object based on a string most easily?

I have this string:
String s = "VClass2 [id=null, provider=null, venueId=VenueID [t10=555, t1=333, id=12033], categories=[FOOD_AND_DRINK], name=מסעדת גוז׳ ודניאל , englishName=null, description=null]";

and this object:
public class VClass2 implements Cloneable, Serializable, Externalizable {

    public String id;
    public String provider;
    @Transient
    public VenueID venueId;
    @Column(name="category")
    @Serialize(StringToArray.class)
    public String[] categories;
    public String name;
    public String englishName;
    public String description;
    @Transient
    public UserInfo lastUpdatedByInfo;

I see they don't match exactly in structure.
How can I parse the string and fill an instance of this class most easily?
I can manipulate the input string, but how should it look like in order for the Gson parse go smoothly?
public class MyTest {

    Gson gson = new Gson();
    String s = "VClass2 [id=null, provider=null, venueId=VenueID [t10=555, t1=333, id=12033], categories=[FOOD_AND_DRINK], name=מסעדת גוז׳ ודניאל , englishName=null, description=null]";

    @Before
    public void setUp() throws Exception {
    }

    @Test
    public void foo()
    {
        Venue2 venue = gson.fromJson(s, VClass2.class);
    }
}

A:

Gson expects an input in JSON format. That means:

All names must be quoted
All string values must be quoted
you must use : instead of =
objects must be wrapped in {}
You must omit the type names

Example:
{"id":null, "provider":null, "venueId":{"t10":555, "t1":333, ...

