tree: 825d56715d4e2e67733afba30972eb58e3f497d4 [path history] [tgz]
  1. codegen/
  2. examples/
  3. extras/
  4. gson/
  5. lib/
  6. metrics/
  7. proto/
  8. .gitignore
  9. .travis.yml
  10. Android.mk
  11. CHANGELOG.md
  12. LICENSE
  13. MODULE_LICENSE_APACHE2
  14. README.android
  15. README.md
gson/README.md

google-gson

Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.

There are a few open-source projects that can convert Java objects to JSON. However, most of them require that you place Java annotations in your classes; something that you can not do if you do not have access to the source-code. Most also do not fully support the use of Java Generics. Gson considers both of these as very important design goals.

Gson Goals

  • Provide simple toJson() and fromJson() methods to convert Java objects to JSON and vice-versa
  • Allow pre-existing unmodifiable objects to be converted to and from JSON
  • Extensive support of Java Generics
  • Allow custom representations for objects
  • Support arbitrarily complex objects (with deep inheritance hierarchies and extensive use of generic types)

Gson Downloads

Gson Documentation

  • Gson API: Javadocs for the current Gson release
  • Gson user guide: This guide contains examples on how to use Gson in your code.
  • Gson Roadmap: Details on upcoming releases
  • Gson design document: This document discusses issues we faced while designing Gson. It also include a comparison of Gson with other Java libraries that can be used for Json conversion

Please use the google-gson Google group to discuss Gson, or to post questions.

Gson-related Content Created by Third Parties