gson-comments/gson/docs/javadocs/com/google/gson/Gson.html
2014-11-20 10:17:53 +00:00

1076 lines
71 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_65) on Thu Nov 20 01:11:54 PST 2014 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Gson (Gson 2.3.1 API)
</TITLE>
<META NAME="date" CONTENT="2014-11-20">
<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 2.3.1 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/FieldNamingStrategy.html" title="interface 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://docs.oracle.com/javase/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://docs.oracle.com/javase/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&lt;List&lt;String&gt;&gt;() {}.getType();
List&lt;String&gt; target = new LinkedList&lt;String&gt;();
target.add("blah");
Gson gson = new Gson();
String json = gson.toJson(target, listType);
List&lt;String&gt; 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, Jesse Wilson</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(com.google.gson.JsonElement, java.lang.Class)">fromJson</A></B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;json,
<A HREF="http://docs.oracle.com/javase/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 parse tree 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(com.google.gson.JsonElement, java.lang.reflect.Type)">fromJson</A></B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;json,
<A HREF="http://docs.oracle.com/javase/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 parse tree 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(com.google.gson.stream.JsonReader, java.lang.reflect.Type)">fromJson</A></B>(<A HREF="../../../com/google/gson/stream/JsonReader.html" title="class in com.google.gson.stream">JsonReader</A>&nbsp;reader,
<A HREF="http://docs.oracle.com/javase/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;Reads the next JSON value from <code>reader</code> and convert it to an object
of type <code>typeOfT</code>.</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.Class)">fromJson</A></B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR ALIGN="right" VALIGN="">
<TD NOWRAP><FONT SIZE="-1">
<CODE>&lt;T&gt; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#getAdapter(java.lang.Class)">getAdapter</A></B>(<A HREF="http://docs.oracle.com/javase/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;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type adapter for <code></code> 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; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#getAdapter(com.google.gson.reflect.TypeToken)">getAdapter</A></B>(<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect">TypeToken</A>&lt;T&gt;&nbsp;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type adapter for <code></code> 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; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt;</CODE></FONT></TD>
</TR>
</TABLE>
</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#getDelegateAdapter(com.google.gson.TypeAdapterFactory, com.google.gson.reflect.TypeToken)">getDelegateAdapter</A></B>(<A HREF="../../../com/google/gson/TypeAdapterFactory.html" title="interface in com.google.gson">TypeAdapterFactory</A>&nbsp;skipPast,
<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect">TypeToken</A>&lt;T&gt;&nbsp;type)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is used to get an alternate type adapter for 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://docs.oracle.com/javase/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(com.google.gson.JsonElement)">toJson</A></B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Converts a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s 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(com.google.gson.JsonElement, java.lang.Appendable)">toJson</A></B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>&nbsp;writer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes out the equivalent JSON for a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s.</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(com.google.gson.JsonElement, com.google.gson.stream.JsonWriter)">toJson</A></B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement,
<A HREF="../../../com/google/gson/stream/JsonWriter.html" title="class in com.google.gson.stream">JsonWriter</A>&nbsp;writer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the JSON for <code>jsonElement</code> to <code>writer</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.Appendable)">toJson</A></B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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.lang.Appendable)">toJson</A></B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</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.lang.reflect.Type, com.google.gson.stream.JsonWriter)">toJson</A></B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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="../../../com/google/gson/stream/JsonWriter.html" title="class in com.google.gson.stream">JsonWriter</A>&nbsp;writer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the JSON representation of <code>src</code> of type <code>typeOfSrc</code> to
<code>writer</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJsonTree(java.lang.Object)">toJsonTree</A></B>(<A HREF="http://docs.oracle.com/javase/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 representation as a tree of
<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../com/google/gson/Gson.html#toJsonTree(java.lang.Object, java.lang.reflect.Type)">toJsonTree</A></B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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 representation as a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/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#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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>. This format
ignores the millisecond portion of the date during serialization. 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="getAdapter(com.google.gson.reflect.TypeToken)"><!-- --></A><H3>
getAdapter</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt; <B>getAdapter</B>(<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect">TypeToken</A>&lt;T&gt;&nbsp;type)</PRE>
<DL>
<DD>Returns the type adapter for <code></code> type.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this GSON cannot serialize and
deserialize <code>type</code>.</DL>
</DD>
</DL>
<HR>
<A NAME="getDelegateAdapter(com.google.gson.TypeAdapterFactory, com.google.gson.reflect.TypeToken)"><!-- --></A><H3>
getDelegateAdapter</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt; <B>getDelegateAdapter</B>(<A HREF="../../../com/google/gson/TypeAdapterFactory.html" title="interface in com.google.gson">TypeAdapterFactory</A>&nbsp;skipPast,
<A HREF="../../../com/google/gson/reflect/TypeToken.html" title="class in com.google.gson.reflect">TypeToken</A>&lt;T&gt;&nbsp;type)</PRE>
<DL>
<DD>This method is used to get an alternate type adapter for the specified type. This is used
to access a type adapter that is overridden by a <A HREF="../../../com/google/gson/TypeAdapterFactory.html" title="interface in com.google.gson"><CODE>TypeAdapterFactory</CODE></A> that you
may have registered. This features is typically used when you want to register a type
adapter that does a little bit of work but then delegates further processing to the Gson
default type adapter. Here is an example:
<p>Let's say we want to write a type adapter that counts the number of objects being read
from or written to JSON. We can achieve this by writing a type adapter factory that uses
the <code>getDelegateAdapter</code> method:
<pre> <code>class StatsTypeAdapterFactory implements TypeAdapterFactory {
public int numReads = 0;
public int numWrites = 0;
public &amp;lt;T&amp;gt; TypeAdapter&amp;lt;T&amp;gt; create(Gson gson, TypeToken&amp;lt;T&amp;gt; type) {
final TypeAdapter&amp;lt;T&amp;gt; delegate = gson.getDelegateAdapter(this, type);
return new TypeAdapter&amp;lt;T&amp;gt;() {
public void write(JsonWriter out, T value) throws IOException {
++numWrites;
delegate.write(out, value);
}
public T read(JsonReader in) throws IOException {
++numReads;
return delegate.read(in);
}
};
}
}
</code> </pre>
This factory can now be used like this:
<pre> <code>StatsTypeAdapterFactory stats = new StatsTypeAdapterFactory();
Gson gson = new GsonBuilder().registerTypeAdapterFactory(stats).create();
// Call gson.toJson() and fromJson methods on objects
System.out.println("Num JSON reads" + stats.numReads);
System.out.println("Num JSON writes" + stats.numWrites);
</code></pre>
Note that since you can not override type adapter factories for String and Java primitive
types, our stats factory will not count the number of String or primitives that will be
read or written.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>skipPast</CODE> - The type adapter factory that needs to be skipped while searching for
a matching type adapter. In most cases, you should just pass <i>this</i> (the type adapter
factory from where <A HREF="../../../com/google/gson/Gson.html#getDelegateAdapter(com.google.gson.TypeAdapterFactory, com.google.gson.reflect.TypeToken)"><CODE>getDelegateAdapter(com.google.gson.TypeAdapterFactory, com.google.gson.reflect.TypeToken<T>)</CODE></A> method is being invoked).<DD><CODE>type</CODE> - Type for which the delegate adapter is being searched for.<DT><B>Since:</B></DT>
<DD>2.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAdapter(java.lang.Class)"><!-- --></A><H3>
getAdapter</H3>
<PRE>
public &lt;T&gt; <A HREF="../../../com/google/gson/TypeAdapter.html" title="class in com.google.gson">TypeAdapter</A>&lt;T&gt; <B>getAdapter</B>(<A HREF="http://docs.oracle.com/javase/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;type)</PRE>
<DL>
<DD>Returns the type adapter for <code></code> type.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</A></CODE> - if this GSON cannot serialize and
deserialize <code>type</code>.</DL>
</DD>
</DL>
<HR>
<A NAME="toJsonTree(java.lang.Object)"><!-- --></A><H3>
toJsonTree</H3>
<PRE>
public <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A> <B>toJsonTree</B>(<A HREF="http://docs.oracle.com/javase/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 representation as a tree of
<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s. This method should be used when the specified object is not a generic
type. This method uses <A HREF="http://docs.oracle.com/javase/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#toJsonTree(java.lang.Object, java.lang.reflect.Type)"><CODE>toJsonTree(Object, Type)</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>.<DT><B>Since:</B></DT>
<DD>1.4</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJsonTree(java.lang.Object, java.lang.reflect.Type)"><!-- --></A><H3>
toJsonTree</H3>
<PRE>
public <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A> <B>toJsonTree</B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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 representation as a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s. 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#toJsonTree(java.lang.Object)"><CODE>toJsonTree(Object)</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><DT><B>Since:</B></DT>
<DD>1.4</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object)"><!-- --></A><H3>
toJson</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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.Appendable)"><CODE>toJson(Object, Appendable)</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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang"><CODE>Appendable</CODE></A>, use <A HREF="../../../com/google/gson/Gson.html#toJson(java.lang.Object, java.lang.reflect.Type, java.lang.Appendable)"><CODE>toJson(Object, Type, Appendable)</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.lang.Appendable)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>&nbsp;writer)
throws <A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></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://docs.oracle.com/javase/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.lang.Appendable)"><CODE>toJson(Object, Type, Appendable)</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>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the writer<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object, java.lang.reflect.Type, java.lang.Appendable)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>&nbsp;writer)
throws <A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></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.lang.Appendable)"><CODE>toJson(Object, Appendable)</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>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the writer<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(java.lang.Object, java.lang.reflect.Type, com.google.gson.stream.JsonWriter)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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="../../../com/google/gson/stream/JsonWriter.html" title="class in com.google.gson.stream">JsonWriter</A>&nbsp;writer)
throws <A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></PRE>
<DL>
<DD>Writes the JSON representation of <code>src</code> of type <code>typeOfSrc</code> to
<code>writer</code>.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the writer</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(com.google.gson.JsonElement)"><!-- --></A><H3>
toJson</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/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="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement)</PRE>
<DL>
<DD>Converts a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s into its equivalent JSON representation.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>jsonElement</CODE> - root of a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s
<DT><B>Returns:</B><DD>JSON String representation of the tree<DT><B>Since:</B></DT>
<DD>1.4</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(com.google.gson.JsonElement, java.lang.Appendable)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement,
<A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang">Appendable</A>&nbsp;writer)
throws <A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></PRE>
<DL>
<DD>Writes out the equivalent JSON for a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>jsonElement</CODE> - root of a tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s<DD><CODE>writer</CODE> - Writer to which the Json representation needs to be written
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the writer<DT><B>Since:</B></DT>
<DD>1.4</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toJson(com.google.gson.JsonElement, com.google.gson.stream.JsonWriter)"><!-- --></A><H3>
toJson</H3>
<PRE>
public void <B>toJson</B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;jsonElement,
<A HREF="../../../com/google/gson/stream/JsonWriter.html" title="class in com.google.gson.stream">JsonWriter</A>&nbsp;writer)
throws <A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></PRE>
<DL>
<DD>Writes the JSON for <code>jsonElement</code> to <code>writer</code>.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the writer</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://docs.oracle.com/javase/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://docs.oracle.com/javase/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/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</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://docs.oracle.com/javase/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. Returns <code>null</code> if <code>json</code> is <code>null</code>.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</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://docs.oracle.com/javase/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://docs.oracle.com/javase/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/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</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://docs.oracle.com/javase/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. Returns <code>null</code> if <code>json</code> is <code>null</code>.
<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
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type</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://docs.oracle.com/javase/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://docs.oracle.com/javase/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/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A>,
<A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</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://docs.oracle.com/javase/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. Returns <code>null</code> if <code>json</code> is at EOF.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem reading from the Reader
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type<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://docs.oracle.com/javase/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://docs.oracle.com/javase/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/JsonIOException.html" title="class in com.google.gson">JsonIOException</A>,
<A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</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://docs.oracle.com/javase/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. Returns <code>null</code> if <code>json</code> is at EOF.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem reading from the Reader
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type<DT><B>Since:</B></DT>
<DD>1.2</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(com.google.gson.stream.JsonReader, java.lang.reflect.Type)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="../../../com/google/gson/stream/JsonReader.html" title="class in com.google.gson.stream">JsonReader</A>&nbsp;reader,
<A HREF="http://docs.oracle.com/javase/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/JsonIOException.html" title="class in com.google.gson">JsonIOException</A>,
<A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></PRE>
<DL>
<DD>Reads the next JSON value from <code>reader</code> and convert it to an object
of type <code>typeOfT</code>. Returns <code>null</code>, if the <code>reader</code> is at EOF.
Since Type is not parameterized by T, this method is type unsafe and should be used carefully
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonIOException.html" title="class in com.google.gson">JsonIOException</A></CODE> - if there was a problem writing to the Reader
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(com.google.gson.JsonElement, java.lang.Class)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;json,
<A HREF="http://docs.oracle.com/javase/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/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></PRE>
<DL>
<DD>This method deserializes the Json read from the specified parse tree into an object of the
specified type. 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(com.google.gson.JsonElement, java.lang.reflect.Type)"><CODE>fromJson(JsonElement, Type)</CODE></A>.
<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 root of the parse tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s 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 json. Returns <code>null</code> if <code>json</code> is <code>null</code>.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type typeOfT<DT><B>Since:</B></DT>
<DD>1.3</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="fromJson(com.google.gson.JsonElement, java.lang.reflect.Type)"><!-- --></A><H3>
fromJson</H3>
<PRE>
public &lt;T&gt; T <B>fromJson</B>(<A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson">JsonElement</A>&nbsp;json,
<A HREF="http://docs.oracle.com/javase/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/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></PRE>
<DL>
<DD>This method deserializes the Json read from the specified parse tree 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(com.google.gson.JsonElement, java.lang.Class)"><CODE>fromJson(JsonElement, 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 root of the parse tree of <A HREF="../../../com/google/gson/JsonElement.html" title="class in com.google.gson"><CODE>JsonElement</CODE></A>s 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. Returns <code>null</code> if <code>json</code> is <code>null</code>.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../com/google/gson/JsonSyntaxException.html" title="class in com.google.gson">JsonSyntaxException</A></CODE> - if json is not a valid representation for an object of type typeOfT<DT><B>Since:</B></DT>
<DD>1.3</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public <A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
</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/FieldNamingStrategy.html" title="interface 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&#x2013;2014 <a href="http://www.google.com">Google, Inc.</a>. All rights reserved.
</BODY>
</HTML>