discomarathon / google-gson

Automatically exported from code.google.com/p/google-gson
0 stars 0 forks source link

Support handlers for unknown properties, useful for error handling #188

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. create a JSON string containing extra attributes
2. invoke Gson.fromJson supplying a class with fewer elements
3. GSON successfully instantiates the class without protesting about the 
existence of extra attributes in the string.

What is the expected output? What do you see instead?
1. define class A containing two fields: name and surname
2. define class B containing only one field: name
3. transform an instance of class A to Json string and use the Json string 
to create an instance of class B.

GSON doesn't complain. Even if this is the intended behavior, shouldn't 
there be an option to enforce stricter parsing?

What version of the product are you using? On what operating system?
gson-1.4

Please provide any additional information below.

Original issue reported on code.google.com by mperdik...@gmail.com on 22 Jan 2010 at 10:13

Attachments:

GoogleCodeExporter commented 9 years ago
I think a reasonable fix for this would be to permit the user to register a 
handler to be notified whenever an unknown property is encountered. Perhaps 
this:
  interface UnknownFieldHandler {
    void handle(JsonObject object, String name, JsonElement value);
  }

Then we could build in a few implementations: one that ignores unknown fields, 
one that logs unknown fields, and one that throws on unknown fields. Users 
could configure their GSON to be as strict or forgiving as necessary.

Original comment by limpbizkit on 3 Nov 2010 at 4:53

GoogleCodeExporter commented 9 years ago
Issue 262 has been merged into this issue.

Original comment by limpbizkit on 30 Dec 2011 at 6:38

GoogleCodeExporter commented 9 years ago
It is good to get object instance, but also is useful information about 
character position.

Original comment by mst...@gmail.com on 30 Dec 2011 at 7:33

GoogleCodeExporter commented 9 years ago

Original comment by limpbizkit on 12 Feb 2012 at 8:44

GoogleCodeExporter commented 9 years ago
Yuk

Original comment by timpyates@gmail.com on 3 Dec 2012 at 6:18

GoogleCodeExporter commented 9 years ago
A handler might not be very Gsonic, but some way to let the Gson client know 
that extraneous metadata existed in the subject JSON would be useful.

Original comment by joeym...@gmail.com on 7 Jan 2013 at 9:05

GoogleCodeExporter commented 9 years ago
we have been hacked and have not agreed to your terms

Original comment by timpyates@gmail.com on 13 Jan 2013 at 2:17

GoogleCodeExporter commented 9 years ago
please help get these people out of our stuff. fbi has been notified and law 
enforcement report filed. sincerely,
                           the real timpyates

Original comment by timpyates@gmail.com on 13 Jan 2013 at 2:19

GoogleCodeExporter commented 9 years ago

Original comment by limpbizkit on 4 Feb 2013 at 4:00

GoogleCodeExporter commented 9 years ago
Issue 495 has been merged into this issue.

Original comment by limpbizkit on 4 Feb 2013 at 4:01

GoogleCodeExporter commented 9 years ago
Any new about this enhancement ? or a workaround ?

Original comment by ghislain...@gmail.com on 11 Mar 2014 at 9:41