<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>blog.stringtree.org &#187; JSON</title>
	<atom:link href="http://blog.stringtree.org/category/projects/json/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stringtree.org</link>
	<description>Stringtree Development News</description>
	<lastBuildDate>Wed, 01 Oct 2008 14:21:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.3" -->
		<copyright>Copyright &#xA9; 2010 blog.stringtree.org </copyright>
		<managingEditor>blog@stringtree.org (Frank Carver)</managingEditor>
		<webMaster>blog@stringtree.org (Frank Carver)</webMaster>
		<category>posts</category>
		<ttl>1440</ttl>
<br />
<b>Warning</b>:  htmlentities() expects at most 3 parameters, 4 given in <b>/home/string4/public_html/blog/wp-content/plugins/podpress/podpress_feed_functions.php</b> on line <b>31</b><br />
		<itunes:keywords></itunes:keywords>
<br />
<b>Warning</b>:  htmlentities() expects at most 3 parameters, 4 given in <b>/home/string4/public_html/blog/wp-content/plugins/podpress/podpress_feed_functions.php</b> on line <b>31</b><br />
		<itunes:subtitle></itunes:subtitle>
<br />
<b>Warning</b>:  htmlentities() expects at most 3 parameters, 4 given in <b>/home/string4/public_html/blog/wp-content/plugins/podpress/podpress_feed_functions.php</b> on line <b>31</b><br />
		<itunes:summary></itunes:summary>
		<itunes:author>Frank Carver</itunes:author>
		<itunes:category text="Technology">
	<itunes:category text="Software How-To"/>
</itunes:category>
		<itunes:owner>
			<itunes:name>Frank Carver</itunes:name>
			<itunes:email>blog@stringtree.org</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://stringtree.org/images/lawnchair-300.jpg" />
		<image>
			<url>http://stringtree.org/images/lawnchair-144.jpg</url>
			<title>blog.stringtree.org</title>
			<link>http://blog.stringtree.org</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Is it time for Java 5?</title>
		<link>http://blog.stringtree.org/2008/09/20/is-it-time-for-java-5/</link>
		<comments>http://blog.stringtree.org/2008/09/20/is-it-time-for-java-5/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 19:59:00 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[Friki]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HTTPClient]]></category>
		<category><![CDATA[Inkling]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Mojasef]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Templater]]></category>
		<category><![CDATA[autoboxing]]></category>
		<category><![CDATA[enum]]></category>
		<category><![CDATA[generics]]></category>
		<category><![CDATA[iterable]]></category>
		<category><![CDATA[Java 1.4]]></category>
		<category><![CDATA[Java 5]]></category>
		<category><![CDATA[varargs]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=25</guid>
		<description><![CDATA[A major goal of the Stringtree software project has always been to be as compatible as possible with all the software people are using for their Java development. Naturally that also includes whatever Java version is being used.
For a long time I interpreted this goal as implying that all Stringtree code should run on all [...]]]></description>
			<content:encoded><![CDATA[<p>A major goal of the Stringtree software project has always been to be as compatible as possible with all the software people are using for their Java development. Naturally that also includes whatever Java version is being used.</p>
<p>For a long time I interpreted this goal as implying that all Stringtree code should run on all Java versions from Java 1.2 onwards. Java 1.4, however, introduced some compelling new features including built-in regular-expression handling. For a few years I still tried to ensure that most code was still 1.2-compatible (for example by using Ant to swap in a third-party regular-expression library while building a jar file), while also providing a Java 1.4 version. Eventually, use of Java versions prior to 1.4 declined enough that I felt comfortable removing the complicated pre-1.4 version.</p>
<p>For the last few years I have been very careful to keep all my Stringtree code compatible with all versions of Java from 1.4 upwards. Now, however, the pressure is building again to move over to Java 5. In my day-to-day coding I develop with Java 5 and make increasing use of Java 5 features such as the enhanced for loop, the Iterable interface, enums, generics, autoboxing, varargs and so on. It would be very nice to be able to update the Stringtree codebase to use these features too.</p>
<p>Occasionally a Java 5-specific detail has crept in to a Stringtree library, and I have soon received comments or emails pointing this out. I haven&#8217;t noticed this for a while, which might indicate either that I have been especially careful, or that I there are no longer any/many people developing with Stringtree code who are still limited to Java 1.4.</p>
<p>If you are reading this and you still require Java 1.4 support, please let me know. Likewise, if you have thrown off the shackles of 1.4 within the last year or so or are desperately hoping for a Java 5 Stringtree that would be good to know too.</p>
<p>Is it time for Java 5 yet?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2008/09/20/is-it-time-for-java-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stringtree JSON 2.0.9</title>
		<link>http://blog.stringtree.org/2007/07/20/stringtree-json-209/</link>
		<comments>http://blog.stringtree.org/2007/07/20/stringtree-json-209/#comments</comments>
		<pubDate>Fri, 20 Jul 2007 11:42:08 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=18</guid>
		<description><![CDATA[Along with the latest release of Stringtree I have released a new Stringtree JSON.
The major change is the provision of an extra version of JSONReader.read which takes a CharacterIterator to allow reading of JSON from within a larger body of text.
I&#8217;ve also had another try at ensuring that it is Java 1.4 compatible. Please let [...]]]></description>
			<content:encoded><![CDATA[<p>Along with the latest release of Stringtree I have released a new Stringtree JSON.</p>
<p>The major change is the provision of an extra version of JSONReader.read which takes a CharacterIterator to allow reading of JSON from within a larger body of text.</p>
<p>I&#8217;ve also had another try at ensuring that it is Java 1.4 compatible. Please let me know of any problems you encounter, particularly Java1.4 incompatibility issues.</p>
<p><a href='http://sourceforge.net/project/showfiles.php?group_id=80689&#038;package_id=226281&#038;release_id=524468'>Download from Sourceforge as usual</a>, and the source is in with Stringtree 2.0.9.</p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/07/20/stringtree-json-209/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Read JSON from a CharacterIterator</title>
		<link>http://blog.stringtree.org/2007/07/05/read-json-from-a-characteriterator/</link>
		<comments>http://blog.stringtree.org/2007/07/05/read-json-from-a-characteriterator/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 22:52:32 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=15</guid>
		<description><![CDATA[I just had a pleasant email exchange with someone who is interested in embedding Stringtree JSON in another project. In this particular case, the basic functionality of the JSONReader is fine, but the calling API was not quite aligned with what they need.
So now, as well as reading JSON from a String, you now have [...]]]></description>
			<content:encoded><![CDATA[<p>I just had a pleasant email exchange with <a href="http://www.mail-archive.com/dev@tomcat.apache.org/msg17996.html">someone</a> who is interested in embedding Stringtree JSON in another project. In this particular case, the basic functionality of the JSONReader is fine, but the calling API was not quite aligned with what they need.</p>
<p>So now, as well as reading JSON from a String, you now have the ability to read JSON from a CharacterIterator. This was a neat changes, as Stringtree JSONReader uses a CharacterIterator internally anyway, so the extra method actually does a bit <i>less</i> than the original one.</p>
<p>For &#8220;power users&#8221;, there is actually an extra method. When JSONReader starts reading from a CharacterIterator it&#8217;s not entirely clear whether it should get its first character by calling <tt>current()</tt> to get a character already read once, or by calling <tt>next()</tt> to get the next unread character, or by calling <tt>first()</tt> to get the first character of the sequence. With this in mind I have provided a <b><tt>read(CharacterIterator ci, int start)</tt></b>, where start can be <tt>JSONReader.START</tt>, <tt>JSONReader.NEXT</tt>, or <tt>JSONReader.CURRENT</tt>.</p>
<p>This update is available in sourceforge subversion, and will be included in the next release of Stringtree and Stringtree JSON.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/07/05/read-json-from-a-characteriterator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stringtree 2.0.6</title>
		<link>http://blog.stringtree.org/2007/04/17/stringtree-206/</link>
		<comments>http://blog.stringtree.org/2007/04/17/stringtree-206/#comments</comments>
		<pubDate>Tue, 17 Apr 2007 15:43:50 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=8</guid>
		<description><![CDATA[Hot on the heels of the long-awaited and bountiful Stringtree 2.0.5 release comes a somewhat less momentous 2.0.6. I had tentatively planned to make the next release at the end of April 2007, but, as JÃ¶rn Zaefferer pointed out, I had forgotten something I had promised to do.
As an overall policy, all code in the [...]]]></description>
			<content:encoded><![CDATA[<p>Hot on the heels of the long-awaited and bountiful Stringtree 2.0.5 release comes a somewhat less momentous 2.0.6. I had tentatively planned to make the next release at the end of April 2007, but, as JÃ¶rn Zaefferer pointed out, I had forgotten something I had promised to do.</p>
<p>As an overall policy, all code in the Stringtree project and its subprojects should not depend on anything later than Java 1.4. Inadvertently, however, a dependency on a new interface (Iterable) introduced in Java 5 had crept into org.stringtree.json.JSONWriter.</p>
<p>It&#8217;s only a one-line change if you are using the source code, but this problem is is most significant for people who just wish to use Stringtree JSON &#8220;out of the box&#8221; with Java 1.4. So I have brought forward the 2.0.6 release to include it.</p>
<p>Also in this release is Jim Yingst&#8217;s improvement to the &#8220;bean&#8221; processing in JSONWriter which makes the code more usable with &#8220;partially public&#8221; objects (such as public inner classes).</p>
<p>Feel free to download <a href='http://downloads.sourceforge.net/stringtree/stringtree-2.0.6.jar?use_mirror=osdn'>the full Stringtree jar</a>, <a href='http://downloads.sourceforge.net/stringtree/stringtree-2.0.6-src.zip?use_mirror=osdn'>the Stringtree source code</a>, or <a href='http://downloads.sourceforge.net/stringtree/stringtree-json-2.0.6.jar?use_mirror=osdn'>the lean and mean Stringtree JSON jar</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/04/17/stringtree-206/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New release of Stringtree, now with easy JSON</title>
		<link>http://blog.stringtree.org/2007/03/26/new-release-of-stringtree-now-with-easy-json/</link>
		<comments>http://blog.stringtree.org/2007/03/26/new-release-of-stringtree-now-with-easy-json/#comments</comments>
		<pubDate>Mon, 26 Mar 2007 11:11:02 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=7</guid>
		<description><![CDATA[It&#8217;s been a while since I put out an updated version of Stringtree. There have been a steady stream of changes and additions, so I reckon it&#8217;s time for a new one. Say hello to Stringtree 2.0.5.
Changes in this version:

added templater test for calling a pipe on an object before multiplying 
added initial mock implementation [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I put out an updated version of Stringtree. There have been a steady stream of changes and additions, so I reckon it&#8217;s time for a new one. Say hello to <a href='https://sourceforge.net/project/showfiles.php?group_id=80689&#038;package_id=82458&#038;release_id=496367'>Stringtree 2.0.5</a>.</p>
<p>Changes in this version:</p>
<ul>
<li>added templater test for calling a pipe on an object before multiplying </li>
<li>added initial mock implementation of JDBC classes </li>
<li>reintroduced some Tract Fetcher tests. Not all working yet, though. </li>
<li>added quot and apos to XMLEscaper </li>
<li>migrate juicer &#038; tests </li>
<li>migrate workflow and tests </li>
<li>reformat Juicer code to new standard </li>
<li>add juicer tests into main test sequence </li>
<li>add workflow tests into main test sequence </li>
<li>go through all code and check formatting </li>
<li>write JSON validator </li>
<li>add MapResultRowListener to collect name/value pairs from database results </li>
<li>(spec) support use of @ and ! with no names as resource and filesystem includes </li>
<li>(JSON) write documentation and examples </li>
<li>(JSON) notify JSON.org </li>
<li>modify build script to generate separate stringtree-json jar</li>
</ul>
<p>One of the most significant changes is that JSON now gets <a href='https://sourceforge.net/project/showfiles.php?group_id=80689&#038;package_id=226281&#038;release_id=496375'>its own sourceforge binary release</a> and even <a href='http://www.stringtree.org/stringtree-json.html'>its own web page</a>. Stringtree JSON  has been a surprising success, so I thought I&#8217;d make it easier for people to understand and use it without the rest of the Stringtree library.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/03/26/new-release-of-stringtree-now-with-easy-json/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Finally, a JSON validator</title>
		<link>http://blog.stringtree.org/2007/02/02/finally-a-json-validator/</link>
		<comments>http://blog.stringtree.org/2007/02/02/finally-a-json-validator/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 16:41:39 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=6</guid>
		<description><![CDATA[As promised, I have eventually got around to writing the final part of the JSON trilogy, although maybe I should have waited until Friday the 13th  
Along with the new JSONValidator class, I have also added validating versions of the existing JSONReader and JSONWriter classes so that those who wish to always validate can [...]]]></description>
			<content:encoded><![CDATA[<p>As promised, I have <i>eventually</i> got around to writing the final part of the <a href='http://json.org/'>JSON</a> trilogy, although maybe I should have waited until Friday the 13th <img src='http://blog.stringtree.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Along with the new JSONValidator class, I have also added validating versions of the existing JSONReader and JSONWriter classes so that those who wish to always validate can do so in a simple manner. By default the validator generates a simple error summary to standard output, although this behaviour is easily overridden by supplying a custom implementation of JSONErrorListener. As usual there are plenty of test cases to take a look at to see examples of how to use the various classes, and there are no external dependencies to you can plug these classes into your apps or frameworks without disturbing or requiring anything else.</p>
<p>All the files in the Stringtree JSON suite are currently available from subversion at</p>
<ul><tt><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/'>https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/</a></tt></ul>
<p>the tests are available from subversion at</p>
<ul><tt><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/test/java/tests/json/'>https://svn.sourceforge.net/svnroot/stringtree/trunk/src/test/java/tests/json/</a></tt></ul>
<p>or if you just want the meat, you can download the files individually:</p>
<ul>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONReader.java'>JSONReader.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONWriter.java'>JSONWriter.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONValidator.java'>JSONValidator.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONErrorListener.java'>JSONErrorListener.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONStdoutListener.java'>JSONStdoutListener.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONValidatingReader.java'>JSONValidatingReader.java</a></li>
<li><a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONValidatingWriter.java'>JSONValidatingWriter.java</a></li>
</ul>
<p>Please check these out if you are interested in a fast, lean Java JSON implementation. I&#8217;d love to hear any comments and suggestions, ideally before I include these files in the next release of Stringtree.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/02/02/finally-a-json-validator/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>More JSON news</title>
		<link>http://blog.stringtree.org/2007/01/29/more-json-news/</link>
		<comments>http://blog.stringtree.org/2007/01/29/more-json-news/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 14:27:03 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=5</guid>
		<description><![CDATA[It seems that my lean Java JSON implementation has caught some people&#8217;s attention. Not only have helpful folks submitted patches on this blog, but it&#8217;s actually getting use in real applications. With any luck I&#8217;ll get a bit of slack to work on the missing validator compopnent soon.
In the meanwhile, I have fixed the problem [...]]]></description>
			<content:encoded><![CDATA[<p>It seems that my <a href='http://blog.stringtree.org/2006/08/12/json/'>lean Java JSON implementation</a> has caught some people&#8217;s attention. Not only have helpful folks submitted patches on this blog, but it&#8217;s actually getting use in real applications. With any luck I&#8217;ll get a bit of slack to work on the missing validator compopnent soon.</p>
<p>In the meanwhile, I have fixed the problem in JSONReader reported by &#8220;Sonny Gill&#8221; and &#8220;jlist&#8221;, and added a test case for that behaviour. I&#8217;d really appreciate it if a few folks could check out the latest version from <code>https://svn.sourceforge.net/svnroot/stringtree/trunk</code> (or direct from <a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONReader.java'>JSONReader.java</a>) and try it out. </p>
<p>There will probably be a new release of the full Stringtree package sometime in the next week or two.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2007/01/29/more-json-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSON</title>
		<link>http://blog.stringtree.org/2006/08/12/json/</link>
		<comments>http://blog.stringtree.org/2006/08/12/json/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 11:36:13 +0000</pubDate>
		<dc:creator>Stringtree</dc:creator>
				<category><![CDATA[JSON]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://blog.stringtree.org/?p=4</guid>
		<description><![CDATA[A few days ago I was reading Slava Pestov&#8217;s blog about his continuing development of his language &#8220;factor&#8221;. It&#8217;s always interesting, but the post that got me coding was his mention of JSON, the &#8220;java script object notation&#8221;. In particular, the pointer to a large and rambling Java implementation.
I reckoned I could do a smaller/simpler [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I was reading <a href='http://factor-language.blogspot.com/'>Slava Pestov&#8217;s blog about his continuing development of his language &#8220;factor&#8221;</a>. It&#8217;s always interesting, but the <a href='http://factor-language.blogspot.com/2006/08/json-parser.html'>post that got me coding</a> was his mention of <a href='http://www.json.org/'>JSON</a>, the &#8220;java script object notation&#8221;. In particular, the pointer to <a href='http://json-lib.cvs.sourceforge.net/json-lib/json-lib/src/main/java/net/sf/json/'>a large and rambling Java implementation</a>.</p>
<p>I reckoned I could do a smaller/simpler one, so I had a go. I used a strict test-first methodology and came up with a <a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONReader.java'>JSON reader in about 190 lines of Java</a> and a <a href='https://svn.sourceforge.net/svnroot/stringtree/trunk/src/delivery/java/org/stringtree/json/JSONWriter.java'>JSON writer in about 150 lines of Java</a>. Both assume correct syntax, so the third part is a validator, which I haven&#8217;t done yet.</p>
<p>My examples are not as concise as the Factor implementations, but they are a whole lot smaller than the jroller one, and they have absolutely no external dependecies.</p>
<p>Unfortunately I&#8217;m having trouble with access to sourceforge at the moment, but when I get it sorted out this code (and all the tests which drove it) will be added to the Stringtree project.</p>
<p>[Update] <b><i>The validator is now written. See <a href='http://blog.stringtree.org/2007/02/02/finally-a-json-validator/'>this more recent post for details</a></i></b></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stringtree.org/2006/08/12/json/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
