亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jsonobject.java

?? 很好的json數據處理格式
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
package org.json;/*Copyright (c) 2002 JSON.orgPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.The Software shall be used for Good, not Evil.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.*/import java.io.IOException;import java.io.Writer;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.TreeSet;/** * A JSONObject is an unordered collection of name/value pairs. Its * external form is a string wrapped in curly braces with colons between the * names and values, and commas between the values and names. The internal form * is an object having <code>get</code> and <code>opt</code> methods for * accessing the values by name, and <code>put</code> methods for adding or * replacing values by name. The values can be any of these types: * <code>Boolean</code>, <code>JSONArray</code>, <code>JSONObject</code>, * <code>Number</code>, <code>String</code>, or the <code>JSONObject.NULL</code> * object. A JSONObject constructor can be used to convert an external form * JSON text into an internal form whose values can be retrieved with the * <code>get</code> and <code>opt</code> methods, or to convert values into a * JSON text using the <code>put</code> and <code>toString</code> methods. * A <code>get</code> method returns a value if one can be found, and throws an * exception if one cannot be found. An <code>opt</code> method returns a * default value instead of throwing an exception, and so is useful for * obtaining optional values. * <p> * The generic <code>get()</code> and <code>opt()</code> methods return an * object, which you can cast or query for type. There are also typed * <code>get</code> and <code>opt</code> methods that do type checking and type * coercion for you. * <p> * The <code>put</code> methods adds values to an object. For example, <pre> *     myString = new JSONObject().put("JSON", "Hello, World!").toString();</pre> * produces the string <code>{"JSON": "Hello, World"}</code>. * <p> * The texts produced by the <code>toString</code> methods strictly conform to * the JSON syntax rules. * The constructors are more forgiving in the texts they will accept: * <ul> * <li>An extra <code>,</code>&nbsp;<small>(comma)</small> may appear just *     before the closing brace.</li> * <li>Strings may be quoted with <code>'</code>&nbsp;<small>(single *     quote)</small>.</li> * <li>Strings do not need to be quoted at all if they do not begin with a quote *     or single quote, and if they do not contain leading or trailing spaces, *     and if they do not contain any of these characters: *     <code>{ } [ ] / \ : , = ; #</code> and if they do not look like numbers *     and if they are not the reserved words <code>true</code>, *     <code>false</code>, or <code>null</code>.</li> * <li>Keys can be followed by <code>=</code> or <code>=></code> as well as *     by <code>:</code>.</li> * <li>Values can be followed by <code>;</code> <small>(semicolon)</small> as *     well as by <code>,</code> <small>(comma)</small>.</li> * <li>Numbers may have the <code>0-</code> <small>(octal)</small> or *     <code>0x-</code> <small>(hex)</small> prefix.</li> * </ul> * @author JSON.org * @version 2008-09-18 */public class JSONObject {    /**     * JSONObject.NULL is equivalent to the value that JavaScript calls null,     * whilst Java's null is equivalent to the value that JavaScript calls     * undefined.     */     private static final class Null {        /**         * There is only intended to be a single instance of the NULL object,         * so the clone method returns itself.         * @return     NULL.         */        protected final Object clone() {            return this;        }        /**         * A Null object is equal to the null value and to itself.         * @param object    An object to test for nullness.         * @return true if the object parameter is the JSONObject.NULL object         *  or null.         */        public boolean equals(Object object) {            return object == null || object == this;        }        /**         * Get the "null" string value.         * @return The string "null".         */        public String toString() {            return "null";        }    }    /**     * The map where the JSONObject's properties are kept.     */    private Map map;    /**     * It is sometimes more convenient and less ambiguous to have a     * <code>NULL</code> object than to use Java's <code>null</code> value.     * <code>JSONObject.NULL.equals(null)</code> returns <code>true</code>.     * <code>JSONObject.NULL.toString()</code> returns <code>"null"</code>.     */    public static final Object NULL = new Null();    /**     * Construct an empty JSONObject.     */    public JSONObject() {        this.map = new HashMap();    }    /**     * Construct a JSONObject from a subset of another JSONObject.     * An array of strings is used to identify the keys that should be copied.     * Missing keys are ignored.      * @param jo A JSONObject.     * @param names An array of strings.     * @exception JSONException If a value is a non-finite number or if a name is duplicated.     */    public JSONObject(JSONObject jo, String[] names) throws JSONException {        this();        for (int i = 0; i < names.length; i += 1) {            putOnce(names[i], jo.opt(names[i]));        }    }    /**     * Construct a JSONObject from a JSONTokener.     * @param x A JSONTokener object containing the source string.     * @throws JSONException If there is a syntax error in the source string      *  or a duplicated key.     */    public JSONObject(JSONTokener x) throws JSONException {        this();        char c;        String key;        if (x.nextClean() != '{') {            throw x.syntaxError("A JSONObject text must begin with '{'");        }        for (;;) {            c = x.nextClean();            switch (c) {            case 0:                throw x.syntaxError("A JSONObject text must end with '}'");            case '}':                return;            default:                x.back();                key = x.nextValue().toString();            }            /*             * The key is followed by ':'. We will also tolerate '=' or '=>'.             */            c = x.nextClean();            if (c == '=') {                if (x.next() != '>') {                    x.back();                }            } else if (c != ':') {                throw x.syntaxError("Expected a ':' after a key");            }            putOnce(key, x.nextValue());            /*             * Pairs are separated by ','. We will also tolerate ';'.             */            switch (x.nextClean()) {            case ';':            case ',':                if (x.nextClean() == '}') {                    return;                }                x.back();                break;            case '}':                return;            default:                throw x.syntaxError("Expected a ',' or '}'");            }        }    }    /**     * Construct a JSONObject from a Map.     *      * @param map A map object that can be used to initialize the contents of     *  the JSONObject.     */    public JSONObject(Map map) {        this.map = (map == null) ? new HashMap() : map;    }    /**     * Construct a JSONObject from a Map.     *      * Note: Use this constructor when the map contains <key,bean>.     *      * @param map - A map with Key-Bean data.     * @param includeSuperClass - Tell whether to include the super class properties.     */    public JSONObject(Map map, boolean includeSuperClass) {       	this.map = new HashMap();       	if (map != null){            for (Iterator i = map.entrySet().iterator(); i.hasNext(); ) {                Map.Entry e = (Map.Entry)i.next();                this.map.put(e.getKey(), new JSONObject(e.getValue(), includeSuperClass));            }       	}    }        /**     * Construct a JSONObject from an Object using bean getters.     * It reflects on all of the public methods of the object.     * For each of the methods with no parameters and a name starting     * with <code>"get"</code> or <code>"is"</code> followed by an uppercase letter,     * the method is invoked, and a key and the value returned from the getter method     * are put into the new JSONObject.     *     * The key is formed by removing the <code>"get"</code> or <code>"is"</code> prefix. If the second remaining     * character is not upper case, then the first     * character is converted to lower case.     *     * For example, if an object has a method named <code>"getName"</code>, and     * if the result of calling <code>object.getName()</code> is <code>"Larry Fine"</code>,     * then the JSONObject will contain <code>"name": "Larry Fine"</code>.     *     * @param bean An object that has getter methods that should be used     * to make a JSONObject.     */    public JSONObject(Object bean) {    	this();        populateInternalMap(bean, false);    }            /**     * Construct JSONObject from the given bean. This will also create JSONObject     * for all internal object (List, Map, Inner Objects) of the provided bean.     *      * -- See Documentation of JSONObject(Object bean) also.     *      * @param bean An object that has getter methods that should be used     * to make a JSONObject.     * @param includeSuperClass - Tell whether to include the super class properties.     */    public JSONObject(Object bean, boolean includeSuperClass) {    	this();        populateInternalMap(bean, includeSuperClass);    }        private void populateInternalMap(Object bean, boolean includeSuperClass){    	Class klass = bean.getClass();    	        //If klass.getSuperClass is System class then includeSuperClass = false;    	    	if (klass.getClassLoader() == null) {    		includeSuperClass = false;    	}    	    	Method[] methods = (includeSuperClass) ?     			klass.getMethods() : klass.getDeclaredMethods();        for (int i = 0; i < methods.length; i += 1) {            try {                Method method = methods[i];                String name = method.getName();                String key = "";                if (name.startsWith("get")) {                    key = name.substring(3);                } else if (name.startsWith("is")) {                    key = name.substring(2);                }                if (key.length() > 0 &&                        Character.isUpperCase(key.charAt(0)) &&                        method.getParameterTypes().length == 0) {                    if (key.length() == 1) {                        key = key.toLowerCase();                    } else if (!Character.isUpperCase(key.charAt(1))) {                        key = key.substring(0, 1).toLowerCase() +                            key.substring(1);                    }                                        Object result = method.invoke(bean, (Object[])null);                    if (result == null){                    	map.put(key, NULL);                    }else if (result.getClass().isArray()) {                    	map.put(key, new JSONArray(result,includeSuperClass));                    }else if (result instanceof Collection) { //List or Set                    	map.put(key, new JSONArray((Collection)result,includeSuperClass));                    }else if (result instanceof Map) {                    	map.put(key, new JSONObject((Map)result,includeSuperClass));                    }else if (isStandardProperty(result.getClass())) { //Primitives, String and Wrapper                    	map.put(key, result);                    }else{                    	if (result.getClass().getPackage().getName().startsWith("java") ||                     			result.getClass().getClassLoader() == null) {                     		map.put(key, result.toString());                    	} else { //User defined Objects                    		map.put(key, new JSONObject(result,includeSuperClass));                    	}                    }                }            } catch (Exception e) {            	throw new RuntimeException(e);            }        }    }        private boolean isStandardProperty(Class clazz) {    	return clazz.isPrimitive()                  ||    		clazz.isAssignableFrom(Byte.class)      ||    		clazz.isAssignableFrom(Short.class)     ||    		clazz.isAssignableFrom(Integer.class)   ||    		clazz.isAssignableFrom(Long.class)      ||    		clazz.isAssignableFrom(Float.class)     ||    		clazz.isAssignableFrom(Double.class)    ||    		clazz.isAssignableFrom(Character.class) ||    		clazz.isAssignableFrom(String.class)    ||    		clazz.isAssignableFrom(Boolean.class);    } 	/**     * Construct a JSONObject from an Object, using reflection to find the     * public members. The resulting JSONObject's keys will be the strings     * from the names array, and the values will be the field values associated     * with those keys in the object. If a key is not found or not visible,     * then it will not be copied into the new JSONObject.     * @param object An object that has fields that should be used to make a     * JSONObject.     * @param names An array of strings, the names of the fields to be obtained     * from the object.     */    public JSONObject(Object object, String names[]) {        this();        Class c = object.getClass();        for (int i = 0; i < names.length; i += 1) {            String name = names[i];        	try {                putOpt(name, c.getField(name).get(object));        	} catch (Exception e) {                /* forget about it */            }        }    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久av麻豆果冻| 久久er99热精品一区二区| 久久精品水蜜桃av综合天堂| 欧美人狂配大交3d怪物一区| 在线亚洲一区二区| 91美女在线观看| 91在线观看免费视频| 99re这里都是精品| 一本到三区不卡视频| 在线影院国内精品| 欧美精品丝袜中出| 日韩精品一区二| 久久久九九九九| 亚洲欧美日韩成人高清在线一区| 亚洲欧洲性图库| 亚欧色一区w666天堂| 日韩精品一区第一页| 精品一区二区三区欧美| 国产盗摄精品一区二区三区在线| 成人黄页毛片网站| 色婷婷久久综合| 欧美日本韩国一区| xfplay精品久久| 专区另类欧美日韩| 五月综合激情婷婷六月色窝| 蜜桃久久精品一区二区| 成人午夜av影视| 在线观看日韩一区| 欧美精品一区在线观看| 亚洲欧洲精品一区二区三区| 日韩福利电影在线| 国产精品少妇自拍| 久久精品视频在线看| 国产精品久久福利| 偷拍一区二区三区四区| 国产成人在线视频网站| 欧美性生活一区| 久久中文娱乐网| 麻豆精品视频在线观看视频| 国产.精品.日韩.另类.中文.在线.播放| 丁香桃色午夜亚洲一区二区三区| 色婷婷av一区二区三区软件| 精品乱人伦一区二区三区| 亚洲同性同志一二三专区| 美女在线视频一区| 在线免费观看日本欧美| 久久久亚洲精品石原莉奈| 午夜不卡av免费| 91在线一区二区| 久久久精品国产99久久精品芒果| 夜色激情一区二区| 不卡免费追剧大全电视剧网站| 91精品国产全国免费观看| 亚洲欧美偷拍卡通变态| 国产高清久久久久| 欧美一区二区三区思思人| 亚洲一级二级三级在线免费观看| 国产精品自拍在线| 日韩欧美国产麻豆| 日韩福利电影在线观看| 欧美日韩日日摸| 亚洲伊人伊色伊影伊综合网| fc2成人免费人成在线观看播放| 日韩欧美一级在线播放| 一级女性全黄久久生活片免费| 国产成人欧美日韩在线电影| 精品国产一区a| 久久 天天综合| 日韩一区二区视频| 蜜臀av一区二区三区| 91精品欧美久久久久久动漫| 亚洲成人免费av| 欧美日韩大陆一区二区| 亚洲乱码日产精品bd| 99re这里只有精品6| 欧美国产精品专区| 丁香婷婷综合激情五月色| 国产欧美一区二区精品秋霞影院| 蜜臂av日日欢夜夜爽一区| 日韩一区二区三区在线| 蜜臀av亚洲一区中文字幕| 欧美xxxxx牲另类人与| 国产在线不卡一卡二卡三卡四卡| 精品国精品自拍自在线| 国产二区国产一区在线观看| 日本一区二区电影| 日本高清视频一区二区| 视频一区二区国产| 日韩一本二本av| 九九国产精品视频| 国产精品日日摸夜夜摸av| 北条麻妃国产九九精品视频| 亚洲欧美二区三区| 欧美三区在线观看| 毛片av一区二区| 国产精品嫩草99a| 色av一区二区| 蜜臀av在线播放一区二区三区| 精品sm在线观看| heyzo一本久久综合| 亚洲综合在线第一页| 91麻豆精品91久久久久久清纯 | eeuss鲁一区二区三区| 成人欧美一区二区三区小说| 欧美视频日韩视频在线观看| 久久国产精品99精品国产| 久久久精品蜜桃| 在线观看免费一区| 国产伦理精品不卡| 伊人色综合久久天天人手人婷| 欧美猛男gaygay网站| 国产成a人亚洲| 亚洲成av人影院| 国产精品你懂的| 日韩欧美国产综合在线一区二区三区| 成人av在线播放网址| 五月天国产精品| 国产精品久久久久久久久免费樱桃| 欧美在线不卡视频| 成人免费毛片app| 青青草国产精品97视觉盛宴| 亚洲欧洲国产日韩| 26uuu亚洲婷婷狠狠天堂| 欧洲日韩一区二区三区| 国内精品视频666| 亚洲大片免费看| 亚洲欧洲在线观看av| 欧美精品一区二区在线播放 | 欧美日韩国产小视频在线观看| 国产一区二区网址| 日韩有码一区二区三区| 亚洲男同性恋视频| 国产亚洲欧美色| 4438x成人网最大色成网站| www.66久久| 国产成人精品免费在线| 麻豆精品国产91久久久久久| 亚洲一区国产视频| **网站欧美大片在线观看| 精品盗摄一区二区三区| 日韩手机在线导航| 欧美午夜不卡在线观看免费| 91视视频在线直接观看在线看网页在线看| 九色综合狠狠综合久久| 视频一区中文字幕| 日韩国产在线观看一区| 亚洲成人黄色影院| 国产99久久久久久免费看农村| 亚洲欧美日韩国产手机在线| 欧美国产乱子伦| 国产精品嫩草影院av蜜臀| 国产精品午夜免费| 日本一区二区三区dvd视频在线| 精品国产乱码久久久久久久| 欧美电影免费观看高清完整版| 国产精品久久久久久久久图文区 | 天堂久久一区二区三区| 亚洲成人动漫在线免费观看| 亚洲成av人片一区二区三区| 天天色综合成人网| 蜜桃一区二区三区四区| 精品一二三四区| 国产精品亚洲成人| 成人午夜视频免费看| 99v久久综合狠狠综合久久| 97精品国产露脸对白| 欧美在线观看一二区| 欧美日韩美女一区二区| 日韩西西人体444www| 久久品道一品道久久精品| 中文字幕五月欧美| 久久伊人中文字幕| 欧美经典一区二区三区| 亚洲欧洲日产国产综合网| 一区二区三区在线视频免费| 亚洲成人av一区二区| 久久99久久精品欧美| 国产精品99久久久| 91久久香蕉国产日韩欧美9色| 欧美性猛交xxxx乱大交退制版 | 日本乱人伦一区| 在线视频欧美精品| 欧美精选一区二区| 精品国产一区二区三区忘忧草| 国产无人区一区二区三区| 亚洲在线观看免费视频| 蜜臀av一区二区在线观看 | 亚洲欧美日韩一区| 美女性感视频久久| 亚洲视频图片小说| 欧美三级日韩三级| 91麻豆精品国产自产在线 | kk眼镜猥琐国模调教系列一区二区| 99国内精品久久| 欧美一区二区三区人| 中文字幕一区在线| 男男视频亚洲欧美| 91视频观看视频| 久久久午夜电影| 日韩和欧美一区二区|