gson-comments/gson/docs/javadocs/com/google/gson/Gson.html

611 lines
40 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_01) on Fri Aug 29 15:11:27 PDT 2008 -->
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<TITLE>
Gson (Gson 1.2 API)
</TITLE>
<META NAME="date" CONTENT="2008-08-29">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Gson (Gson 1.2 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Gson.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/google/gson/FieldNamingPolicy.html" title="enum in com.google.gson"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/google/gson/GsonBuilder.html" title="class in com.google.gson"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/gson/Gson.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Gson.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.google.gson</FONT>
<BR>
Class Gson</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.gson.Gson</B>
</PRE>
<HR>
<DL>
<DT><PRE>public final class <B>Gson</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
</PRE>
<P>
This is the main class for using Gson. Gson is typically used by first constructing a
Gson instance and then invoking <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object)"><CODE>toJson(Object)</CODE></A> or <A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.Class)"><CODE>fromJson(String, Class)</CODE></A>
methods on it.
<p>You can create a Gson instance by invoking <code>new Gson()</code> if the default configuration
is all you need. You can also use <A HREF="../../../com/google/gson/GsonBuilder.html" title="class in com.google.gson"><CODE>GsonBuilder</CODE></A> to build a Gson instance with various
configuration options such as versioning support, pretty printing, custom
<A HREF="../../../com/google/gson/JsonSerializer.html" title="interface in com.google.gson"><CODE>JsonSerializer</CODE></A>s, <A HREF="../../../com/google/gson/JsonDeserializer.html" title="interface in com.google.gson"><CODE>JsonDeserializer</CODE></A>s, and <A HREF="../../../com/google/gson/InstanceCreator.html" title="interface in com.google.gson"><CODE>InstanceCreator</CODE></A>s.</p>
<p>Here is an example of how Gson is used for a simple Class:
<pre>
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target = new MyType();
String json = gson.toJson(target); // serializes target to Json
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2
</pre></p>
<p>If the object that your are serializing/deserializing is a <code>ParameterizedType</code>
(i.e. contains at least one type parameter and may be an array) then you must use the
<A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type)"><CODE>toJson(Object, Type)</CODE></A> or <A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.reflect.Type)"><CODE>fromJson(String, Type)</CODE></A> method. Here is an
example for serializing and deserialing a <code>ParameterizedType</code>:
<pre>
Type listType = new TypeToken<List<String>>() {}.getType();
List<String> target = new LinkedList<String>();
target.add("blah");
Gson gson = new Gson();
String json = gson.toJson(target, listType);
List<String> target2 = gson.fromJson(json, listType);
</pre></p>
<p>See the <a href="https://sites.google.com/site/gson/gson-user-guide">Gson User Guide</a>
for a more complete set of examples.</p>
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>Inderjeet Singh, Joel Leitch</DD>
<DT><B>See Also:</B><DD><A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect"><CODE>TypeToken</CODE></A></DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#Gson()">Gson</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a Gson object with default configuration.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.Class)">fromJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;classOfT)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method deserializes the Json read from the specified reader into an object of the
specified class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.reflect.Type)">fromJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfT)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method deserializes the Json read from the specified reader into an object of the
specified type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.Class)">fromJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;classOfT)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method deserializes the specified Json into an object of the specified class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; T</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.reflect.Type)">fromJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfT)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method deserializes the specified Json into an object of the specified type.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object)">toJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method serializes the specified object into its equivalent Json representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type)">toJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfSrc)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method serializes the specified object, including those of generic types, into its
equivalent Json representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type, java.io.Writer)">toJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfSrc,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method serializes the specified object, including those of generic types, into its
equivalent Json representation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.io.Writer)">toJson</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method serializes the specified object into its equivalent Json representation.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Gson()"><!-- --></A><H3>
Gson</H3>
<PRE>
public <B>Gson</B>()</PRE>
<DL>
<DD>Constructs a Gson object with default configuration. The default configuration has the
following settings:
<ul>
<li>The JSON generated by <code>toJson</code> methods is in compact representation. This
means that all the unneeded white-space is removed. You can change this behavior with
<A HREF="../../../com/google/gson/GsonBuilder.html#setPrettyPrinting()"><CODE>GsonBuilder.setPrettyPrinting()</CODE></A>. </li>
<li>The generated JSON omits all the fields that are null. Note that nulls in arrays are
kept as is since an array is an ordered list. Moreover, if a field is not null, but its
generated JSON is empty, the field is kept. You can configure Gson to serialize null values
by setting <A HREF="../../../com/google/gson/GsonBuilder.html#serializeNulls()"><CODE>GsonBuilder.serializeNulls()</CODE></A>.</li>
<li>Gson provides default serialization and deserialization for Enums, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A>,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/URL.html?is-external=true" title="class or interface in java.net"><CODE>URL</CODE></A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/net/URI.html?is-external=true" title="class or interface in java.net"><CODE>URI</CODE></A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util"><CODE>Locale</CODE></A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util"><CODE>Date</CODE></A>,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigDecimal.html?is-external=true" title="class or interface in java.math"><CODE>BigDecimal</CODE></A>, and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigInteger.html?is-external=true" title="class or interface in java.math"><CODE>BigInteger</CODE></A> classes. If you would prefer
to change the default representation, you can do so by registering a type adapter through
<A HREF="../../../com/google/gson/GsonBuilder.html#registerTypeAdapter(java.lang.reflect.Type, java.lang.Object)"><CODE>GsonBuilder.registerTypeAdapter(Type, Object)</CODE></A>. </li>
<li>The default Date format is same as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/text/DateFormat.html?is-external=true#DEFAULT" title="class or interface in java.text"><CODE>DateFormat.DEFAULT</CODE></A>. You can change
this by invoking <A HREF="../../../com/google/gson/GsonBuilder.html#setDateFormat(int)"><CODE>GsonBuilder.setDateFormat(int)</CODE></A> or
<A HREF="../../../com/google/gson/GsonBuilder.html#setDateFormat(java.lang.String)"><CODE>GsonBuilder.setDateFormat(String)</CODE></A>. </li>
<li>By default, Gson ignores the <A HREF="../../../com/google/gson/annotations/Expose.html" title="annotation in com.google.gson.annotations"><CODE>Expose</CODE></A> annotation.
You can enable Gson to serialize/deserialize only those fields marked with this annotation
through <A HREF="../../../com/google/gson/GsonBuilder.html#excludeFieldsWithoutExposeAnnotation()"><CODE>GsonBuilder.excludeFieldsWithoutExposeAnnotation()</CODE></A>. </li>
<li>By default, Gson ignores the <A HREF="../../../com/google/gson/annotations/Since.html" title="annotation in com.google.gson.annotations"><CODE>Since</CODE></A> annotation. You
can enable Gson to use this annotation through <A HREF="../../../com/google/gson/GsonBuilder.html#setVersion(double)"><CODE>GsonBuilder.setVersion(double)</CODE></A>.</li>
<li>The default field naming policy for the output Json is same as in Java. So, a Java class
field <code>versionNumber</code> will be output as <code>&quot;versionNumber@quot;</code> in
Json. The same rules are applied for mapping incoming Json to the Java classes. You can
change this policy through <A HREF="../../../com/google/gson/GsonBuilder.html#setFieldNamingPolicy(com.google.gson.FieldNamingPolicy)"><CODE>GsonBuilder.setFieldNamingPolicy(FieldNamingPolicy)</CODE></A>.</li>
<li>By default, Gson excludes <code>transient</code> or <code>static</code> fields from
consideration for serialization and deserialization. You can change this behavior through
<A HREF="../../../com/google/gson/GsonBuilder.html#excludeFieldsWithModifiers(int...)"><CODE>GsonBuilder.excludeFieldsWithModifiers(int...)</CODE></A>.</li>
</ul>
<P>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="toJson(java.lang.Object)"><!-- --></A><H3>
toJson</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src)</PRE>
<DL>
<DD>This method serializes the specified object into its equivalent Json representation.
This method should be used when the specified object is not a generic type. This method uses
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang"><CODE>Object.getClass()</CODE></A> to get the type for the specified object, but the
<code>getClass()</code> loses the generic type information because of the Type Erasure feature
of Java. Note that this method works fine if the any of the object fields are of generic type,
just the object itself should not be of a generic type. If the object is of generic type, use
<A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type)"><CODE>toJson(Object, Type)</CODE></A> instead. If you want to write out the object to a
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>, use <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.io.Writer)"><CODE>toJson(Object, Writer)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - the object for which Json representation is to be created setting for Gson
<DT><B>Returns:</B><DD>Json representation of <code>src</code>.</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object, java.lang.reflect.Type)"><!-- --></A><H3>
toJson</H3>
<PRE>
public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfSrc)</PRE>
<DL>
<DD>This method serializes the specified object, including those of generic types, into its
equivalent Json representation. This method must be used if the specified object is a generic
type. For non-generic objects, use <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object)"><CODE>toJson(Object)</CODE></A> instead. If you want to write out
the object to a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io"><CODE>Writer</CODE></A>, use <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type, java.io.Writer)"><CODE>toJson(Object, Type, Writer)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - the object for which JSON representation is to be created<DD><CODE>typeOfSrc</CODE> - The specific genericized type of src. You can obtain
this type by using the <A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect"><CODE>TypeToken</CODE></A> class. For example,
to get the type for <code>Collection&lt;Foo&gt;</code>, you should use:
<pre>
Type typeOfSrc = new TypeToken&lt;Collection&lt;Foo&gt;&gt;(){}.getType();
</pre>
<DT><B>Returns:</B><DD>Json representation of <code>src</code></DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object, java.io.Writer)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE>
<DL>
<DD>This method serializes the specified object into its equivalent Json representation.
This method should be used when the specified object is not a generic type. This method uses
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang"><CODE>Object.getClass()</CODE></A> to get the type for the specified object, but the
<code>getClass()</code> loses the generic type information because of the Type Erasure feature
of Java. Note that this method works fine if the any of the object fields are of generic type,
just the object itself should not be of a generic type. If the object is of generic type, use
<A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type, java.io.Writer)"><CODE>toJson(Object, Type, Writer)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - the object for which Json representation is to be created setting for Gson<DD><CODE>writer</CODE> - Writer to which the Json representation needs to be written<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object, java.lang.reflect.Type, java.io.Writer)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;src,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfSrc,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</A>&nbsp;writer)</PRE>
<DL>
<DD>This method serializes the specified object, including those of generic types, into its
equivalent Json representation. This method must be used if the specified object is a generic
type. For non-generic objects, use <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.io.Writer)"><CODE>toJson(Object, Writer)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - the object for which JSON representation is to be created<DD><CODE>typeOfSrc</CODE> - The specific genericized type of src. You can obtain
this type by using the <A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect"><CODE>TypeToken</CODE></A> class. For example,
to get the type for <code>Collection&lt;Foo&gt;</code>, you should use:
<pre>
Type typeOfSrc = new TypeToken&lt;Collection&lt;Foo&gt;&gt;(){}.getType();
</pre><DD><CODE>writer</CODE> - Writer to which the Json representation of src needs to be written.<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(java.lang.String, java.lang.Class)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;classOfT)
throws <A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></PRE>
<DL>
<DD>This method deserializes the specified Json into an object of the specified class. It is not
suitable to use if the specified class is a generic type since it will not have the generic
type information because of the Type Erasure feature of Java. Therefore, this method should not
be used if the desired type is a generic type. Note that this method works fine if the any of
the fields of the specified object are generics, just the object itself should not be a
generic type. For the cases when the object is of generic type, invoke
<A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.reflect.Type)"><CODE>fromJson(String, Type)</CODE></A>. If you have the Json in a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><CODE>Reader</CODE></A> instead of
a String, use <A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.Class)"><CODE>fromJson(Reader, Class)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - the type of the desired object<DT><B>Parameters:</B><DD><CODE>json</CODE> - the string from which the object is to be deserialized<DD><CODE>classOfT</CODE> - the class of T
<DT><B>Returns:</B><DD>an object of type T from the string
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></CODE> - if json is not a valid representation for an object of type
classOfT</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(java.lang.String, java.lang.reflect.Type)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfT)
throws <A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></PRE>
<DL>
<DD>This method deserializes the specified Json into an object of the specified type. This method
is useful if the specified object is a generic type. For non-generic objects, use
<A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.Class)"><CODE>fromJson(String, Class)</CODE></A> instead. If you have the Json in a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><CODE>Reader</CODE></A> instead of
a String, use <A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.reflect.Type)"><CODE>fromJson(Reader, Type)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - the type of the desired object<DT><B>Parameters:</B><DD><CODE>json</CODE> - the string from which the object is to be deserialized<DD><CODE>typeOfT</CODE> - The specific genericized type of src. You can obtain this type by using the
<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect"><CODE>TypeToken</CODE></A> class. For example, to get the type for
<code>Collection&lt;Foo&gt;</code>, you should use:
<pre>
Type typeOfT = new TypeToken&lt;Collection&lt;Foo&gt;&gt;(){}.getType();
</pre>
<DT><B>Returns:</B><DD>an object of type T from the string
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></CODE> - if json is not a valid representation for an object of type typeOfT</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(java.io.Reader, java.lang.Class)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A>&lt;T&gt;&nbsp;classOfT)
throws <A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></PRE>
<DL>
<DD>This method deserializes the Json read from the specified reader into an object of the
specified class. It is not suitable to use if the specified class is a generic type since it
will not have the generic type information because of the Type Erasure feature of Java.
Therefore, this method should not be used if the desired type is a generic type. Note that
this method works fine if the any of the fields of the specified object are generics, just the
object itself should not be a generic type. For the cases when the object is of generic type,
invoke <A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.reflect.Type)"><CODE>fromJson(Reader, Type)</CODE></A>. If you have the Json in a String form instead of a
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><CODE>Reader</CODE></A>, use <A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.Class)"><CODE>fromJson(String, Class)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - the type of the desired object<DT><B>Parameters:</B><DD><CODE>json</CODE> - the reader producing the Json from which the object is to be deserialized.<DD><CODE>classOfT</CODE> - the class of T
<DT><B>Returns:</B><DD>an object of type T from the string
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></CODE> - if json is not a valid representation for an object of type
classOfT<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(java.io.Reader, java.lang.reflect.Type)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io">Reader</A>&nbsp;json,
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</A>&nbsp;typeOfT)
throws <A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></PRE>
<DL>
<DD>This method deserializes the Json read from the specified reader into an object of the
specified type. This method is useful if the specified object is a generic type. For
non-generic objects, use <A HREF="../../../com/google/gson/Gson.html#fromJson(java.io.Reader, java.lang.Class)"><CODE>fromJson(Reader, Class)</CODE></A> instead. If you have the Json in a
String form instead of a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Reader.html?is-external=true" title="class or interface in java.io"><CODE>Reader</CODE></A>, use <A HREF="../../../com/google/gson/Gson.html#fromJson(java.lang.String, java.lang.reflect.Type)"><CODE>fromJson(String, Type)</CODE></A> instead.
<P>
<DD><DL>
<DT><B>Type Parameters:</B><DD><CODE>T</CODE> - the type of the desired object<DT><B>Parameters:</B><DD><CODE>json</CODE> - the reader producing Json from which the object is to be deserialized<DD><CODE>typeOfT</CODE> - The specific genericized type of src. You can obtain this type by using the
<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect"><CODE>TypeToken</CODE></A> class. For example, to get the type for
<code>Collection&lt;Foo&gt;</code>, you should use:
<pre>
Type typeOfT = new TypeToken&lt;Collection&lt;Foo&gt;&gt;(){}.getType();
</pre>
<DT><B>Returns:</B><DD>an object of type T from the json
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonParseException.html" title="class in com.google.gson">JsonParseException</A></CODE> - if json is not a valid representation for an object of type typeOfT<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Gson.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../com/google/gson/FieldNamingPolicy.html" title="enum in com.google.gson"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../com/google/gson/GsonBuilder.html" title="class in com.google.gson"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?com/google/gson/Gson.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Gson.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2008. All Rights Reserved.
</BODY>
</HTML>