public class JSONObject extends JSONGetter<java.lang.String> implements JSON, java.util.Map<java.lang.String,java.lang.Object>
json = new JSONObject().put("JSON", "Hello, World!").toString();
| 构造器和说明 |
|---|
JSONObject()
构造,初始容量为
DEFAULT_CAPACITY,KEY无序 |
JSONObject(boolean isOrder)
构造,初始容量为
DEFAULT_CAPACITY |
JSONObject(java.lang.CharSequence source)
从JSON字符串解析为JSON对象
|
JSONObject(int capacity,
boolean isOrder)
构造
|
JSONObject(int capacity,
boolean isIgnoreCase,
boolean isOrder)
构造
|
JSONObject(JSONObject jsonObject,
java.lang.String... names)
使用其他
JSONObject构造新的JSONObject,并只加入指定name对应的键值对。 |
JSONObject(JSONTokener x)
使用
JSONTokener构建 |
JSONObject(JSONTokener x,
boolean isOrder)
使用
JSONTokener构建 |
JSONObject(java.lang.Object source)
构建JSONObject,如果给定值为Map,将键值对加入JSON对象;
如果为普通的JavaBean,调用其getters方法(getXXX或者isXXX)获得值,加入到JSON对象 例如:如果JavaBean对象中有个方法getName(),值为"张三",获得的键值对为:name: "张三" 此方法会忽略空值,但是对JSON字符串不影响 |
JSONObject(java.lang.Object source,
boolean ignoreNullValue)
构建JSONObject,如果给定值为Map,将键值对加入JSON对象;
如果为普通的JavaBean,调用其getters方法(getXXX或者isXXX)获得值,加入到JSON对象 例如:如果JavaBean对象中有个方法getName(),值为"张三",获得的键值对为:name: "张三" |
JSONObject(java.lang.Object pojo,
java.lang.String[] names)
使用反射方式获取public字段名和字段值,构建JSONObject对象
KEY或VALUE任意一个为null则不加入,字段不存在也不加入 |
| 限定符和类型 | 方法和说明 |
|---|---|
JSONObject |
accumulate(java.lang.String key,
java.lang.Object value)
积累值。
|
JSONObject |
append(java.lang.String key,
java.lang.Object value)
追加值,如果key无对应值,就添加一个JSONArray,其元素只有value,如果值已经是一个JSONArray,则添加到值JSONArray中。
|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> |
entrySet() |
boolean |
equals(java.lang.Object obj) |
java.lang.Object |
get(java.lang.Object key) |
java.lang.Object |
getByExp(java.lang.String expression)
已过时。
|
<T> T |
getByExp(java.lang.String expression,
java.lang.Class<T> resultType)
已过时。
|
java.lang.Object |
getByPath(java.lang.String expression)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
<T> T |
getByPath(java.lang.String expression,
java.lang.Class<T> resultType)
通过表达式获取JSON中嵌套的对象
.表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name 获取表达式对应值后转换为对应类型的值 |
java.lang.Object |
getObj(java.lang.String key,
java.lang.Object defaultValue) |
int |
hashCode() |
JSONObject |
increment(java.lang.String key)
对值加一,如果值不存在,赋值1,如果为数字类型,做加一操作
|
boolean |
isEmpty() |
boolean |
isNull(java.lang.String key)
key对应值是否为
null或无此key |
java.util.Set<java.lang.String> |
keySet() |
JSONObject |
put(java.lang.String key,
java.lang.Object value)
PUT 键值对到JSONObject中,如果值为
null,将此键移除 |
void |
putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m) |
void |
putByPath(java.lang.String expression,
java.lang.Object value)
设置表达式指定位置(或filed对应)的值
若表达式指向一个JSONArray则设置其坐标对应位置的值,若指向JSONObject则put对应key的值 注意:如果为JSONArray,设置值下标小于其长度,将替换原有值,否则追加新值 .表达式,可以获取Bean对象中的属性(字段)值或者Map中key对应的值 []表达式,可以获取集合等对象中对应index的值 表达式栗子: persion persion.name persons[3] person.friends[5].name |
JSONObject |
putOnce(java.lang.String key,
java.lang.Object value)
Put a key/value pair in the JSONObject, but only if the key and the value are both non-null,
and only if there is not already a member with that name. |
JSONObject |
putOpt(java.lang.String key,
java.lang.Object value)
在键和值都为非空的情况下put到JSONObject中
|
java.lang.Object |
remove(java.lang.Object key) |
int |
size() |
<T> T |
toBean(java.lang.Class<T> clazz)
转为实体类对象,转换异常将被抛出
|
<T> T |
toBean(java.lang.Class<T> clazz,
boolean ignoreError)
转为实体类对象
|
<T> T |
toBean(T bean)
转为实体类对象,转换异常将被抛出
|
<T> T |
toBean(T bean,
boolean ignoreError)
转为实体类对象
|
<T> T |
toBean(java.lang.reflect.Type type)
转为实体类对象,转换异常将被抛出
|
<T> T |
toBean(java.lang.reflect.Type type,
boolean ignoreError)
转为实体类对象
|
JSONArray |
toJSONArray(java.util.Collection<java.lang.String> names)
将指定KEY列表的值组成新的JSONArray
|
java.lang.String |
toJSONString(int indentFactor)
格式化输出JSON字符串
|
java.lang.String |
toString()
返回JSON字符串
如果解析错误,返回 null |
java.lang.String |
toStringPretty()
格式化打印JSON,缩进为4个空格
|
java.util.Collection<java.lang.Object> |
values() |
java.io.Writer |
write(java.io.Writer writer)
将JSON内容写入Writer,无缩进
Warning: This method assumes that the data structure is acyclical. |
java.io.Writer |
write(java.io.Writer writer,
int indentFactor,
int indent)
将JSON内容写入Writer
Warning: This method assumes that the data structure is acyclical. |
get, get, getBean, getJSONArray, getJSONObject, getStrgetBigDecimal, getBigInteger, getBool, getByte, getChar, getDate, getDouble, getEnum, getFloat, getInt, getLong, getShortgetBigDecimal, getBigInteger, getBool, getByte, getChar, getDate, getDouble, getEnum, getFloat, getInt, getLong, getObj, getShort, getStrpublic JSONObject()
DEFAULT_CAPACITY,KEY无序public JSONObject(boolean isOrder)
DEFAULT_CAPACITYisOrder - 是否有序public JSONObject(int capacity,
boolean isOrder)
capacity - 初始大小isOrder - 是否有序public JSONObject(int capacity,
boolean isIgnoreCase,
boolean isOrder)
capacity - 初始大小isIgnoreCase - 是否忽略KEY大小写isOrder - 是否有序public JSONObject(JSONObject jsonObject, java.lang.String... names)
JSONObject构造新的JSONObject,并只加入指定name对应的键值对。jsonObject - A JSONObject.names - 需要的name列表,如果为空加入所有键值对public JSONObject(JSONTokener x) throws JSONException
JSONTokener构建x - JSONTokenerJSONException - 语法错误public JSONObject(JSONTokener x, boolean isOrder) throws JSONException
JSONTokener构建x - JSONTokenerisOrder - 是否有序JSONException - 语法错误public JSONObject(java.lang.Object source)
source - JavaBean或者Map对象或者Stringpublic JSONObject(java.lang.Object source,
boolean ignoreNullValue)
source - JavaBean或者Map对象或者StringignoreNullValue - 是否忽略空值,如果source为JSON字符串,不忽略空值public JSONObject(java.lang.Object pojo,
java.lang.String[] names)
pojo - 包含需要字段的Bean对象names - 需要构建JSONObject的字段名列表public JSONObject(java.lang.CharSequence source)
throws JSONException
source - 以大括号 {} 包围的字符串,其中KEY和VALUE使用 : 分隔,每个键值对使用逗号分隔JSONException - JSON字符串语法错误public boolean isNull(java.lang.String key)
null或无此keykey - 键null或JSONNull.NULL返回false,其它返回truepublic JSONArray toJSONArray(java.util.Collection<java.lang.String> names) throws JSONException
names - KEY列表JSONException - If any of the values are non-finite numbers.public <T> T toBean(java.lang.Class<T> clazz)
T - Bean类型clazz - 实体类public <T> T toBean(java.lang.Class<T> clazz,
boolean ignoreError)
T - Bean类型clazz - 实体类ignoreError - 是否忽略转换错误public <T> T toBean(java.lang.reflect.Type type)
T - Bean类型type - Typepublic <T> T toBean(java.lang.reflect.Type type,
boolean ignoreError)
T - Bean类型type - TypeignoreError - 是否忽略转换错误public <T> T toBean(T bean)
T - Bean类型bean - 实体类public <T> T toBean(T bean,
boolean ignoreError)
T - Bean类型bean - 实体类ignoreError - 是否忽略转换错误public int size()
size 在接口中 java.util.Map<java.lang.String,java.lang.Object>public boolean isEmpty()
isEmpty 在接口中 java.util.Map<java.lang.String,java.lang.Object>public boolean containsKey(java.lang.Object key)
containsKey 在接口中 java.util.Map<java.lang.String,java.lang.Object>public boolean containsValue(java.lang.Object value)
containsValue 在接口中 java.util.Map<java.lang.String,java.lang.Object>public java.lang.Object get(java.lang.Object key)
get 在接口中 java.util.Map<java.lang.String,java.lang.Object>public java.lang.Object getObj(java.lang.String key,
java.lang.Object defaultValue)
getObj 在接口中 OptBasicTypeGetter<java.lang.String>getObj 在类中 OptNullBasicTypeFromObjectGetter<java.lang.String>@Deprecated public java.lang.Object getByExp(java.lang.String expression)
getByPath(String)persion persion.name persons[3] person.friends[5].name
getByExp 在接口中 JSONexpression - 表达式BeanPath.get(Object)@Deprecated
public <T> T getByExp(java.lang.String expression,
java.lang.Class<T> resultType)
getByPath(String, Class)persion persion.name persons[3] person.friends[5].name获取表达式对应值后转换为对应类型的值
getByExp 在接口中 JSONT - 返回值类型expression - 表达式resultType - 返回值类型BeanPath.get(Object)public java.lang.Object getByPath(java.lang.String expression)
JSONpersion persion.name persons[3] person.friends[5].name
getByPath 在接口中 JSONexpression - 表达式BeanPath.get(Object)public <T> T getByPath(java.lang.String expression,
java.lang.Class<T> resultType)
JSONpersion persion.name persons[3] person.friends[5].name获取表达式对应值后转换为对应类型的值
getByPath 在接口中 JSONT - 返回值类型expression - 表达式resultType - 返回值类型BeanPath.get(Object)public void putByPath(java.lang.String expression,
java.lang.Object value)
JSONpersion persion.name persons[3] person.friends[5].name
public JSONObject put(java.lang.String key, java.lang.Object value) throws JSONException
null,将此键移除put 在接口中 java.util.Map<java.lang.String,java.lang.Object>key - 键value - 值对象. 可以是以下类型: Boolean, Double, Integer, JSONArray, JSONObject, Long, String, or the JSONNull.NULL.JSONException - 值是无穷数字抛出此异常public JSONObject putOnce(java.lang.String key, java.lang.Object value) throws JSONException
key - 键value - 值对象,可以是以下类型: Boolean, Double, Integer, JSONArray, JSONObject, Long, String, or the JSONNull.NULL.JSONException - 值是无穷数字、键重复抛出异常public JSONObject putOpt(java.lang.String key, java.lang.Object value) throws JSONException
key - 键value - 值对象,可以是以下类型: Boolean, Double, Integer, JSONArray, JSONObject, Long, String, or the JSONNull.NULL.JSONException - 值是无穷数字public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m)
putAll 在接口中 java.util.Map<java.lang.String,java.lang.Object>public JSONObject accumulate(java.lang.String key, java.lang.Object value) throws JSONException
key - 键value - 被积累的值JSONException - 如果给定键为null或者键对应的值存在且为非JSONArraypublic JSONObject append(java.lang.String key, java.lang.Object value) throws JSONException
key - 键value - 值JSONException - 如果给定键为null或者键对应的值存在且为非JSONArraypublic JSONObject increment(java.lang.String key) throws JSONException
key - A key string.JSONException - 如果存在值非Integer, Long, Double, 或 Float.public java.lang.Object remove(java.lang.Object key)
remove 在接口中 java.util.Map<java.lang.String,java.lang.Object>public void clear()
clear 在接口中 java.util.Map<java.lang.String,java.lang.Object>public java.util.Set<java.lang.String> keySet()
keySet 在接口中 java.util.Map<java.lang.String,java.lang.Object>public java.util.Collection<java.lang.Object> values()
values 在接口中 java.util.Map<java.lang.String,java.lang.Object>public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
entrySet 在接口中 java.util.Map<java.lang.String,java.lang.Object>public int hashCode()
hashCode 在接口中 java.util.Map<java.lang.String,java.lang.Object>hashCode 在类中 java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals 在接口中 java.util.Map<java.lang.String,java.lang.Object>equals 在类中 java.lang.Objectpublic java.lang.String toString()
nulltoString 在类中 java.lang.Objectpublic java.lang.String toStringPretty()
throws JSONException
toStringPretty 在接口中 JSONJSONException - 包含非法数抛出此异常public java.lang.String toJSONString(int indentFactor)
throws JSONException
toJSONString 在接口中 JSONindentFactor - 每层缩进空格数JSONException - 包含非法数抛出此异常public java.io.Writer write(java.io.Writer writer)
throws JSONException
JSONwrite 在接口中 JSONwriter - WriterJSONException - JSON相关异常public java.io.Writer write(java.io.Writer writer,
int indentFactor,
int indent)
throws JSONException
JSONwrite 在接口中 JSONwriter - writerindentFactor - 每一级别的缩进量indent - 顶级别缩进量JSONException - JSON相关异常Copyright © 2018. All rights reserved.