gson - deserialize a generics hashmap when key is not primitive -


I want to hedge GSN and D-GSon with generics.
When my key is a string but not if it is an object.
I have two code sections I do not work before and second does

  // works does not work {TradableBean tradable = New TradableBean ("conventional"); StatusBen Status = New StatusBen (businessable); Maps & lt; Traditional Behavior, StatusBeans & gt; Map1 = New Hashmop & lt; Traditional Bean, Situation & gt; (); Map1.put (businessable, position); String json1 = gson.toJson (map1); Maps & lt; Traditional Behavior, StatusBeans & gt; Map2 = gson.fromJson (json1, new typography & lt; map & lt; TradableBean, PositionBean & gt; & gt; () {}. GetType ()); Println (MAP2); } Hold (exception e) {System.out.println ("unsuccessful"); }   

and now working part -

  // task - try with string {string tradable = new string ("Tradable"); StatusBen Status = New StatusBean (New Traditional Bean ("Traditional")); Maps & lt; String, caseben & gt; Map1 = new Hashmap & lt; String, caseben & gt; (); Map1.put (businessable, position); String json1 = gson.toJson (map1); Maps & lt; String, caseben & gt; Map2 = gson.fromJson (json1, new typography & lt; map & lt; string, caseben & gt; & gt; () {} .getType ()); Println (MAP2); } Hold (exception e) {System.out.println ("unsuccessful"); }   

and in my traditional bean:

  @override public int hashode () {getId ();} @Override public boolean equivalent (Object Obj ) {Boolean equivalent = false; If (OBJ's instance of accountben) {tradable_p = (TradableBean) obj; If (getId () == tradable_p.getId ()) {equals = true; }} Returns equals;   

}

exception:

  com.google.gson.JsonParseException: found the object to be found: "Traditional bin {Id = 0, tradableName = 'Tradable', moneyMultiplier = 1, expirationDate = null} "at com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler (JsonObjectDeserializationVisitor.java: 100) com.google.gson.ObjectNavigator.navigateClassFields (ObjectNavigator. Java: 150) com.google.gson.ObjectNavigator.accept (objectNavigator.java:123) at com.google.gson.JsonDeserializationContextDefault.fromJsonPrimitive (JsonDeserializationContextDefault.java: 84) com.google.gson.JsonDeserializationContextDefault.deserialize (JsonDeserializationContextDefault Java : 53) but com.google.gson.DefaultTypeAdapters $ MapTypeAdapter.deserialize (DefaultTypeAdapters.java) 31 com.google.gson.DefaultTypeAdapters $ MapTypeAdapter.deserialize (Defa Ultricespace.blogspot.com   

I think you have to write yourself

Update: is an exception:

  com. Google.gson.JsonParseException: Expected Object found: "TradableBean appears to be written by a traditional serial called" traditional ", the string" traditional bean "can be written  toString () . Deserialization as  {id = 0, ...}     

Comments

Popular posts from this blog

qt - switch/case statement in C++ with a QString type -

python - sqlite3.OperationalError: near "REFERENCES": syntax error - foreign key creating -

Python's equivalent for Ruby's define_method? -