4

I have a json string (the stream of social network Qaiku). How can I decode it in Java? I've searched but any results work for me. Thank you.

2 Answers2

9

Standard way of object de-serialization is the following:

Gson gson = new Gson();
MyType obj = gson.fromJson(json, MyType.class);

For primitives corresponding class should be used instead of MyType.

You can find more details in Gson user's guide. If this way does not work for you - probably there's some error in JSON input.

Kel
  • 7,680
  • 3
  • 29
  • 39
6

As an example using Gson, you could do the following

Gson gson = new Gson();
gson.fromJson(value, type);

where value is your encoded value. The trick comes with the second parameter - the type. You need to know what your decoding and what Java type that JSON will end in.

The following example shows decoding a JSON string into a list of domain objects called Table:

http://javastorage.wordpress.com/2011/03/31/how-to-decode-json-with-google-gson-library/

In order to do that the type needs to be specified as:

Type type = new TypeToken<List<Table>>(){}.getType();

Gson is available here:

http://code.google.com/p/google-gson/

Jonathan Holloway
  • 62,090
  • 32
  • 125
  • 150