annotate bindings/as3/ext/com/adobe/serialization/json/JSON.as @ 770:c54bc2ffbf92 tip

update tags
author convert-repo
date Fri, 16 Dec 2011 11:34:01 +0000
parents 3a0b9700b3d2
children
rev   line source
mas01mj@732 1 /*
mas01mj@732 2 Copyright (c) 2008, Adobe Systems Incorporated
mas01mj@732 3 All rights reserved.
mas01mj@732 4
mas01mj@732 5 Redistribution and use in source and binary forms, with or without
mas01mj@732 6 modification, are permitted provided that the following conditions are
mas01mj@732 7 met:
mas01mj@732 8
mas01mj@732 9 * Redistributions of source code must retain the above copyright notice,
mas01mj@732 10 this list of conditions and the following disclaimer.
mas01mj@732 11
mas01mj@732 12 * Redistributions in binary form must reproduce the above copyright
mas01mj@732 13 notice, this list of conditions and the following disclaimer in the
mas01mj@732 14 documentation and/or other materials provided with the distribution.
mas01mj@732 15
mas01mj@732 16 * Neither the name of Adobe Systems Incorporated nor the names of its
mas01mj@732 17 contributors may be used to endorse or promote products derived from
mas01mj@732 18 this software without specific prior written permission.
mas01mj@732 19
mas01mj@732 20 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
mas01mj@732 21 IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
mas01mj@732 22 THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
mas01mj@732 23 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
mas01mj@732 24 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
mas01mj@732 25 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
mas01mj@732 26 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
mas01mj@732 27 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
mas01mj@732 28 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
mas01mj@732 29 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
mas01mj@732 30 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mas01mj@732 31 */
mas01mj@732 32
mas01mj@732 33 package com.adobe.serialization.json
mas01mj@732 34 {
mas01mj@732 35
mas01mj@732 36 /**
mas01mj@732 37 * This class provides encoding and decoding of the JSON format.
mas01mj@732 38 *
mas01mj@732 39 * Example usage:
mas01mj@732 40 * <code>
mas01mj@732 41 * // create a JSON string from an internal object
mas01mj@732 42 * JSON.encode( myObject );
mas01mj@732 43 *
mas01mj@732 44 * // read a JSON string into an internal object
mas01mj@732 45 * var myObject:Object = JSON.decode( jsonString );
mas01mj@732 46 * </code>
mas01mj@732 47 */
mas01mj@732 48 public class JSON
mas01mj@732 49 {
mas01mj@732 50 /**
mas01mj@732 51 * Encodes a object into a JSON string.
mas01mj@732 52 *
mas01mj@732 53 * @param o The object to create a JSON string for
mas01mj@732 54 * @return the JSON string representing o
mas01mj@732 55 * @langversion ActionScript 3.0
mas01mj@732 56 * @playerversion Flash 9.0
mas01mj@732 57 * @tiptext
mas01mj@732 58 */
mas01mj@732 59 public static function encode( o:Object ):String
mas01mj@732 60 {
mas01mj@732 61 return new JSONEncoder( o ).getString();
mas01mj@732 62 }
mas01mj@732 63
mas01mj@732 64 /**
mas01mj@732 65 * Decodes a JSON string into a native object.
mas01mj@732 66 *
mas01mj@732 67 * @param s The JSON string representing the object
mas01mj@732 68 * @param strict Flag indicating if the decoder should strictly adhere
mas01mj@732 69 * to the JSON standard or not. The default of <code>true</code>
mas01mj@732 70 * throws errors if the format does not match the JSON syntax exactly.
mas01mj@732 71 * Pass <code>false</code> to allow for non-properly-formatted JSON
mas01mj@732 72 * strings to be decoded with more leniancy.
mas01mj@732 73 * @return A native object as specified by s
mas01mj@732 74 * @throw JSONParseError
mas01mj@732 75 * @langversion ActionScript 3.0
mas01mj@732 76 * @playerversion Flash 9.0
mas01mj@732 77 * @tiptext
mas01mj@732 78 */
mas01mj@732 79 public static function decode( s:String, strict:Boolean = true ):*
mas01mj@732 80 {
mas01mj@732 81 return new JSONDecoder( s, strict ).getValue();
mas01mj@732 82 }
mas01mj@732 83
mas01mj@732 84 }
mas01mj@732 85
mas01mj@732 86 }