X-Git-Url: http://nitlanguage.org diff --git a/lib/json/json.nit b/lib/json/json.nit index 1e9522f..7df7e82 100644 --- a/lib/json/json.nit +++ b/lib/json/json.nit @@ -1,6 +1,7 @@ # This file is part of NIT ( http://www.nitlanguage.org ). # -# Copyright 2012-2013 Alexis Laferrière +# Copyright 2014 Alexis Laferrière +# Copyright 2014 Jean-Christophe Beaupré # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,21 +15,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Writing to and reading from the Json format. -# Based on the json0 C library +# Libraries to manipulate JSON strings. +# +# Both `dynamic` and `static` modules provide at least a method to parse a +# value written in JSON, but only `static` provide a method to translate a +# value into JSON. +# +# The `dynamic` module provides a simple interface to get information +# from a JSON document. You must be careful as all services are provided on +# each nodes and a wrongful use can `abort`. +# +# The `static` module provides a common interface for anything that can be +# translated into a JSON document. The provided parsing method return a +# nullable Nit object that must then be type-checked before it can be used. module json -import jsonable -import json_reader -import json_writer - -redef class String - fun json_load_from_file : nullable Map[ String, nullable Jsonable ] - do - var f = new IFStream.open( self ) - var data = f.read_all.json_to_object - f.close - - return data.as(not null) # ( Map[ String, nullable Jsonable ] ) - end -end +import static +import dynamic