<!DOCTYPE html>
<html>
  



<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="The Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance. Linear scalability and proven fault-tolerance on commodity hardware or cloud infrastructure make it the perfect platform for mission-critical data. Cassandra's support for replicating across multiple datacenters is best-in-class, providing lower latency for your users and the peace of mind of knowing that you can survive regional outages.
">
  <meta name="keywords" content="cassandra, apache, apache cassandra, distributed storage, key value store, scalability, bigtable, dynamo" />
  <meta name="robots" content="index,follow" />
  <meta name="language" content="en" />  

  <title>Documentation</title>

  <link rel="canonical" href="http://cassandra.apache.org/doc/3.7/cql/json.html">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
  <link rel="stylesheet" href="./../../../css/style.css">
  
  <link rel="stylesheet" href="./../../../css/sphinx.css">
  

   <link rel="top" title="Apache Cassandra Documentation v3.7" href="../index.html"/> <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> <link rel="next" title="Triggers" href="triggers.html"/> <link rel="prev" title="Functions" href="functions.html"/> 
</head>

  <body>
    <!-- breadcrumbs -->
<div class="topnav">
  <div class="container breadcrumb-container">
    <ul class="breadcrumb">
      <li>
        <div class="dropdown">
          <img class="asf-logo" src="./../../../img/asf_feather.png" />
          <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
            <li><a href="http://www.apache.org">Apache Homepage</a></li>
            <li><a href="http://www.apache.org/licenses/">License</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
            <li><a href="http://www.apache.org/security/">Security</a></li>
          </ul>
        </div>
      </li>

      
      <li><a href="./../../../">Apache Cassandra</a></li>
      

      
        
        <li><a href="./../../../doc">Documentation</a></li>
        
      

      
      <li><a href="./">The Cassandra Query Language (CQL)</a></li>
      

      
      <li>JSON Support</li>
      
    </ul>
  </div>

  <!-- navbar -->
  <nav class="navbar navbar-default navbar-static-top" role="navigation">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#cassandra-menu" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="./../../../"><img src="./../../../img/cassandra_logo.png" alt="Apache Cassandra logo" /></a>
      </div><!-- /.navbar-header -->

      <div id="cassandra-menu" class="collapse navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><a href="./../../../">Home</a></li>
          <li><a href="./../../../download/">Download</a></li>
          <li><a href="./../../../doc/">Documentation</a></li>
          <li><a href="./../../../community/">Community</a></li>
        </ul>
      </div><!-- /#cassandra-menu -->

      
    </div>
  </nav><!-- /.navbar -->
</div><!-- /.topnav -->

    <div class="container-fluid">
  <div class="row">
    <div class="col-md-2">
      <div class="doc-navigation">
        <div class="doc-menu" role="navigation">
          <div class="navbar-header">
            <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
          </div>
          <div class="navbar-collapse collapse sidebar-navbar-collapse">
            <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search">
              <div class="form-group">
                <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs">
                <input type="hidden" name="check_keywords" value="yes" />
                <input type="hidden" name="area" value="default" />
              </div>
            </form>
            
            
            
            <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">JSON Support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#select-json">SELECT JSON</a></li>
<li class="toctree-l3"><a class="reference internal" href="#insert-json">INSERT JSON</a></li>
<li class="toctree-l3"><a class="reference internal" href="#json-encoding-of-cassandra-data-types">JSON Encoding of Cassandra Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="#the-fromjson-function">The fromJson() Function</a></li>
<li class="toctree-l3"><a class="reference internal" href="#the-tojson-function">The toJson() Function</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li>
<li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li>
<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</a></li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs and Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
            
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>
    <div class="col-md-8">
      <div class="content doc-content">
        <div class="container">
          
  <div class="section" id="json-support">
<span id="cql-json"></span><h1>JSON Support<a class="headerlink" href="#json-support" title="Permalink to this headline">¶</a></h1>
<p>Cassandra 2.2 introduces JSON support to <a class="reference internal" href="dml.html#select-statement"><span class="std std-ref">SELECT</span></a> and <a class="reference internal" href="dml.html#insert-statement"><span class="std std-ref">INSERT</span></a>
statements. This support does not fundamentally alter the CQL API (for example, the schema is still enforced), it simply
provides a convenient way to work with JSON documents.</p>
<div class="section" id="select-json">
<h2>SELECT JSON<a class="headerlink" href="#select-json" title="Permalink to this headline">¶</a></h2>
<p>With <code class="docutils literal"><span class="pre">SELECT</span></code> statements, the <code class="docutils literal"><span class="pre">JSON</span></code> keyword can be used to return each row as a single <code class="docutils literal"><span class="pre">JSON</span></code> encoded map. The
remainder of the <code class="docutils literal"><span class="pre">SELECT</span></code> statement behavior is the same.</p>
<p>The result map keys are the same as the column names in a normal result set. For example, a statement like <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">JSON</span>
<span class="pre">a,</span> <span class="pre">ttl(b)</span> <span class="pre">FROM</span> <span class="pre">...</span></code> would result in a map with keys <code class="docutils literal"><span class="pre">&quot;a&quot;</span></code> and <code class="docutils literal"><span class="pre">&quot;ttl(b)&quot;</span></code>. However, this is one notable exception:
for symmetry with <code class="docutils literal"><span class="pre">INSERT</span> <span class="pre">JSON</span></code> behavior, case-sensitive column names with upper-case letters will be surrounded with
double quotes. For example, <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">JSON</span> <span class="pre">myColumn</span> <span class="pre">FROM</span> <span class="pre">...</span></code> would result in a map key <code class="docutils literal"><span class="pre">&quot;\&quot;myColumn\&quot;&quot;</span></code> (note the
escaped quotes).</p>
<p>The map values will <code class="docutils literal"><span class="pre">JSON</span></code>-encoded representations (as described below) of the result set values.</p>
</div>
<div class="section" id="insert-json">
<h2>INSERT JSON<a class="headerlink" href="#insert-json" title="Permalink to this headline">¶</a></h2>
<p>With <code class="docutils literal"><span class="pre">INSERT</span></code> statements, the new <code class="docutils literal"><span class="pre">JSON</span></code> keyword can be used to enable inserting a <code class="docutils literal"><span class="pre">JSON</span></code> encoded map as a single
row. The format of the <code class="docutils literal"><span class="pre">JSON</span></code> map should generally match that returned by a <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">JSON</span></code> statement on the same
table. In particular, case-sensitive column names should be surrounded with double quotes. For example, to insert into a
table with two columns named &#8220;myKey&#8221; and &#8220;value&#8221;, you would do the following:</p>
<div class="highlight-cql"><div class="highlight"><pre><span></span><span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">mytable</span> <span class="k">JSON</span> <span class="s1">&#39;{ &quot;\&quot;myKey\&quot;&quot;: 0, &quot;value&quot;: 0}&#39;</span>
</pre></div>
</div>
<p>By default (or if <code class="docutils literal"><span class="pre">DEFAULT</span> <span class="pre">NULL</span></code> is explicitly used), a column omitted from the <code class="docutils literal"><span class="pre">JSON</span></code> map will be set to <code class="docutils literal"><span class="pre">NULL</span></code>,
meaning that any pre-existing value for that column will be removed (resulting in a tombstone being created).
Alternatively, if the <code class="docutils literal"><span class="pre">DEFAULT</span> <span class="pre">UNSET</span></code> directive is used after the value, omitted column values will be left unset,
meaning that pre-existing values for those column will be preserved.</p>
</div>
<div class="section" id="json-encoding-of-cassandra-data-types">
<h2>JSON Encoding of Cassandra Data Types<a class="headerlink" href="#json-encoding-of-cassandra-data-types" title="Permalink to this headline">¶</a></h2>
<p>Where possible, Cassandra will represent and accept data types in their native <code class="docutils literal"><span class="pre">JSON</span></code> representation. Cassandra will
also accept string representations matching the CQL literal format for all single-field types. For example, floats,
ints, UUIDs, and dates can be represented by CQL literal strings. However, compound types, such as collections, tuples,
and user-defined types must be represented by native <code class="docutils literal"><span class="pre">JSON</span></code> collections (maps and lists) or a JSON-encoded string
representation of the collection.</p>
<p>The following table describes the encodings that Cassandra will accept in <code class="docutils literal"><span class="pre">INSERT</span> <span class="pre">JSON</span></code> values (and <code class="docutils literal"><span class="pre">fromJson()</span></code>
arguments) as well as the format Cassandra will use when returning data for <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">JSON</span></code> statements (and
<code class="docutils literal"><span class="pre">fromJson()</span></code>):</p>
<table border="1" class="docutils">
<colgroup>
<col width="13%" />
<col width="21%" />
<col width="13%" />
<col width="54%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Type</th>
<th class="head">Formats accepted</th>
<th class="head">Return format</th>
<th class="head">Notes</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal"><span class="pre">ascii</span></code></td>
<td>string</td>
<td>string</td>
<td>Uses JSON&#8217;s <code class="docutils literal"><span class="pre">\u</span></code> character escape</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">bigint</span></code></td>
<td>integer, string</td>
<td>integer</td>
<td>String must be valid 64 bit integer</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">blob</span></code></td>
<td>string</td>
<td>string</td>
<td>String should be 0x followed by an even number of hex digits</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">boolean</span></code></td>
<td>boolean, string</td>
<td>boolean</td>
<td>String must be &#8220;true&#8221; or &#8220;false&#8221;</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">date</span></code></td>
<td>string</td>
<td>string</td>
<td>Date in format <code class="docutils literal"><span class="pre">YYYY-MM-DD</span></code>, timezone UTC</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">decimal</span></code></td>
<td>integer, float, string</td>
<td>float</td>
<td>May exceed 32 or 64-bit IEEE-754 floating point precision in
client-side decoder</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">double</span></code></td>
<td>integer, float, string</td>
<td>float</td>
<td>String must be valid integer or float</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">float</span></code></td>
<td>integer, float, string</td>
<td>float</td>
<td>String must be valid integer or float</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">inet</span></code></td>
<td>string</td>
<td>string</td>
<td>IPv4 or IPv6 address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">int</span></code></td>
<td>integer, string</td>
<td>integer</td>
<td>String must be valid 32 bit integer</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">list</span></code></td>
<td>list, string</td>
<td>list</td>
<td>Uses JSON&#8217;s native list representation</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">map</span></code></td>
<td>map, string</td>
<td>map</td>
<td>Uses JSON&#8217;s native map representation</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">smallint</span></code></td>
<td>integer, string</td>
<td>integer</td>
<td>String must be valid 16 bit integer</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">set</span></code></td>
<td>list, string</td>
<td>list</td>
<td>Uses JSON&#8217;s native list representation</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">text</span></code></td>
<td>string</td>
<td>string</td>
<td>Uses JSON&#8217;s <code class="docutils literal"><span class="pre">\u</span></code> character escape</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">time</span></code></td>
<td>string</td>
<td>string</td>
<td>Time of day in format <code class="docutils literal"><span class="pre">HH-MM-SS[.fffffffff]</span></code></td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">timestamp</span></code></td>
<td>integer, string</td>
<td>string</td>
<td>A timestamp. Strings constant allows to input <a class="reference internal" href="types.html#timestamps"><span class="std std-ref">timestamps
as dates</span></a>. Datestamps with format <code class="docutils literal"><span class="pre">YYYY-MM-DD</span>
<span class="pre">HH:MM:SS.SSS</span></code> are returned.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">timeuuid</span></code></td>
<td>string</td>
<td>string</td>
<td>Type 1 UUID. See <a class="reference internal" href="definitions.html#grammar-token-constant"><code class="xref std std-token docutils literal"><span class="pre">constant</span></code></a> for the UUID format</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">tinyint</span></code></td>
<td>integer, string</td>
<td>integer</td>
<td>String must be valid 8 bit integer</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">tuple</span></code></td>
<td>list, string</td>
<td>list</td>
<td>Uses JSON&#8217;s native list representation</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">UDT</span></code></td>
<td>map, string</td>
<td>map</td>
<td>Uses JSON&#8217;s native map representation with field names as keys</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">uuid</span></code></td>
<td>string</td>
<td>string</td>
<td>See <a class="reference internal" href="definitions.html#grammar-token-constant"><code class="xref std std-token docutils literal"><span class="pre">constant</span></code></a> for the UUID format</td>
</tr>
<tr class="row-even"><td><code class="docutils literal"><span class="pre">varchar</span></code></td>
<td>string</td>
<td>string</td>
<td>Uses JSON&#8217;s <code class="docutils literal"><span class="pre">\u</span></code> character escape</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal"><span class="pre">varint</span></code></td>
<td>integer, string</td>
<td>integer</td>
<td>Variable length; may overflow 32 or 64 bit integers in
client-side decoder</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="the-fromjson-function">
<h2>The fromJson() Function<a class="headerlink" href="#the-fromjson-function" title="Permalink to this headline">¶</a></h2>
<p>The <code class="docutils literal"><span class="pre">fromJson()</span></code> function may be used similarly to <code class="docutils literal"><span class="pre">INSERT</span> <span class="pre">JSON</span></code>, but for a single column value. It may only be used
in the <code class="docutils literal"><span class="pre">VALUES</span></code> clause of an <code class="docutils literal"><span class="pre">INSERT</span></code> statement or as one of the column values in an <code class="docutils literal"><span class="pre">UPDATE</span></code>, <code class="docutils literal"><span class="pre">DELETE</span></code>, or
<code class="docutils literal"><span class="pre">SELECT</span></code> statement. For example, it cannot be used in the selection clause of a <code class="docutils literal"><span class="pre">SELECT</span></code> statement.</p>
</div>
<div class="section" id="the-tojson-function">
<h2>The toJson() Function<a class="headerlink" href="#the-tojson-function" title="Permalink to this headline">¶</a></h2>
<p>The <code class="docutils literal"><span class="pre">toJson()</span></code> function may be used similarly to <code class="docutils literal"><span class="pre">SELECT</span> <span class="pre">JSON</span></code>, but for a single column value. It may only be used
in the selection clause of a <code class="docutils literal"><span class="pre">SELECT</span></code> statement.</p>
</div>
</div>



          
          <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation">
            
            <a href="triggers.html" class="btn btn-default pull-right " role="button" title="Triggers" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a>
            
            
            <a href="functions.html" class="btn btn-default" role="button" title="Functions" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a>
            
          </div>
          
        </div>
      </div>
    </div>
    <div class="col-md-2">
    </div>
  </div>
</div>

    <footer>
  <div class="container">
    <div class="col-md-4 social-blk">
      <span class="social">
        <a href="https://twitter.com/cassandra"
           class="twitter-follow-button"
           data-show-count="false" data-size="large">Follow @cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
        <a href="https://twitter.com/intent/tweet?button_hashtag=cassandra"
           class="twitter-hashtag-button"
           data-size="large"
           data-related="ApacheCassandra">Tweet #cassandra</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
      </span>
    </div>

    <div class="col-md-8 trademark">
      <p>&copy; 2016 <a href="http://apache.org">The Apache Software Foundation</a>.
      Apache, the Apache feather logo, and Apache Cassandra are trademarks of The Apache Software Foundation.
      <p>
    </div>
  </div><!-- /.container -->
</footer>

<!-- Javascript. Placed here so pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="./../../../js/underscore-min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>


<script src="./../../../js/doctools.js"></script>
<script src="./../../../js/searchtools.js"></script>

 <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT:    "", VERSION:     "", COLLAPSE_INDEX: false, FILE_SUFFIX: ".html", HAS_SOURCE:  false, SOURCELINK_SUFFIX: "" }; </script> 

<script type="text/javascript">
$(function() {
    // Stick the #nav to the top of the window
    var nav = $('.doc-navigation');
    var navHomeY = nav.offset().top;
    var isFixed = false;
    var $w = $(window);
    $w.scroll(function() {
        var scrollTop = $w.scrollTop();
        var shouldBeFixed = $w.width() > 991 && scrollTop >= navHomeY - 10;
        if (shouldBeFixed && !isFixed) {
            nav.css({
                position: 'fixed',
                top: 0,
                left: nav.offset().left,
                width: nav.width(),
            });
            nav.addClass('fixed-navigation');
            isFixed = true;
        }
        else if (!shouldBeFixed && isFixed)
        {
            nav.css({
                position: 'static'
            });
            nav.removeClass('fixed-navigation');
            isFixed = false;
        }
    });
});
</script>


<script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

  try {
    var pageTracker = _gat._getTracker("UA-11583863-1");
    pageTracker._trackPageview();
  } catch(err) {}
</script>


  </body>
</html>
