JSONObject只是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。

总而言之,JSONObject是一种中间结构,并且在网络中有很快的传输速度。


1. 依赖包:fastjson

 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.28</version></dependency>

2. 通过原生生成json数据格式。

JSONObject zhangsan = new JSONObject();try {//添加zhangsan.put("name", "张三");zhangsan.put("age", 18.4);zhangsan.put("birthday", "1900-20-03");zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});zhangsan.put("null", null);zhangsan.put("house", false);System.out.println(zhangsan.toString());} catch (JSONException e) {e.printStackTrace();}

3. 通过hashMap数据结构生成

HashMap<String, Object> zhangsan = new HashMap<>();zhangsan.put("name", "张三");zhangsan.put("age", 18.4);zhangsan.put("birthday", "1900-20-03");zhangsan.put("majar", new String[] {"哈哈","嘿嘿"});zhangsan.put("null", null);zhangsan.put("house", false);System.out.println(new JSONObject(zhangsan).toString());

4. 通过实体生成

 Student student = new Student();student.setId(1);student.setAge("20");student.setName("张三");//生成json格式System.out.println(JSON.toJSON(student));//对象转成stringString stuString = JSONObject.toJSONString(student);

5. JSON字符串转换成JSON对象

String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}";//JSON字符串转换成JSON对象
JSONObject jsonObject1 = JSONObject.parseObject(stuString);System.out.println(jsonObject1);

6. list对象转listJson

ArrayList<Student> studentLsit = new ArrayList<>();
Student student1 = new Student();
student1.setId(1);
student1.setAge("20");
student1.setName("asdasdasd");studentLsit.add(student1);Student student2 = new Student();
student2.setId(2);
student2.setAge("20");
student2.setName("aaaa:;aaa");studentLsit.add(student2);//list转json字符串
String string = JSON.toJSON(studentLsit).toString();
System.out.println(string);//json字符串转listJson格式
JSONArray jsonArray = JSONObject.parseArray(string);System.out.println(jsonArray);

7. fastjson包中的Json源码

// IntelliJ API Decompiler stub source generated from a class file// Implementation of methods is not availablepackage com.alibaba.fastjson;public class JSONObject extends com.alibaba.fastjson.JSON implements java.util.Map<java.lang.String,java.lang.Object>, java.lang.Cloneable, java.io.Serializable, java.lang.reflect.InvocationHandler {private static final long serialVersionUID = 1L;private static final int DEFAULT_INITIAL_CAPACITY = 16;private final java.util.Map<java.lang.String,java.lang.Object> map;public JSONObject() { /* compiled code */ }public JSONObject(java.util.Map<java.lang.String,java.lang.Object> map) { /* compiled code */ }public JSONObject(boolean ordered) { /* compiled code */ }public JSONObject(int initialCapacity) { /* compiled code */ }public JSONObject(int initialCapacity, boolean ordered) { /* compiled code */ }public int size() { /* compiled code */ }public boolean isEmpty() { /* compiled code */ }public boolean containsKey(java.lang.Object key) { /* compiled code */ }public boolean containsValue(java.lang.Object value) { /* compiled code */ }public java.lang.Object get(java.lang.Object key) { /* compiled code */ }public com.alibaba.fastjson.JSONObject getJSONObject(java.lang.String key) { /* compiled code */ }public com.alibaba.fastjson.JSONArray getJSONArray(java.lang.String key) { /* compiled code */ }public <T> T getObject(java.lang.String key, java.lang.Class<T> clazz) { /* compiled code */ }public <T> T getObject(java.lang.String key, java.lang.reflect.Type type) { /* compiled code */ }public <T> T getObject(java.lang.String key, com.alibaba.fastjson.TypeReference typeReference) { /* compiled code */ }public java.lang.Boolean getBoolean(java.lang.String key) { /* compiled code */ }public byte[] getBytes(java.lang.String key) { /* compiled code */ }public boolean getBooleanValue(java.lang.String key) { /* compiled code */ }public java.lang.Byte getByte(java.lang.String key) { /* compiled code */ }public byte getByteValue(java.lang.String key) { /* compiled code */ }public java.lang.Short getShort(java.lang.String key) { /* compiled code */ }public short getShortValue(java.lang.String key) { /* compiled code */ }public java.lang.Integer getInteger(java.lang.String key) { /* compiled code */ }public int getIntValue(java.lang.String key) { /* compiled code */ }public java.lang.Long getLong(java.lang.String key) { /* compiled code */ }public long getLongValue(java.lang.String key) { /* compiled code */ }public java.lang.Float getFloat(java.lang.String key) { /* compiled code */ }public float getFloatValue(java.lang.String key) { /* compiled code */ }public java.lang.Double getDouble(java.lang.String key) { /* compiled code */ }public double getDoubleValue(java.lang.String key) { /* compiled code */ }public java.math.BigDecimal getBigDecimal(java.lang.String key) { /* compiled code */ }public java.math.BigInteger getBigInteger(java.lang.String key) { /* compiled code */ }public java.lang.String getString(java.lang.String key) { /* compiled code */ }public java.util.Date getDate(java.lang.String key) { /* compiled code */ }public java.sql.Date getSqlDate(java.lang.String key) { /* compiled code */ }public java.sql.Timestamp getTimestamp(java.lang.String key) { /* compiled code */ }public java.lang.Object put(java.lang.String key, java.lang.Object value) { /* compiled code */ }public com.alibaba.fastjson.JSONObject fluentPut(java.lang.String key, java.lang.Object value) { /* compiled code */ }public void putAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m) { /* compiled code */ }public com.alibaba.fastjson.JSONObject fluentPutAll(java.util.Map<? extends java.lang.String,? extends java.lang.Object> m) { /* compiled code */ }public void clear() { /* compiled code */ }public com.alibaba.fastjson.JSONObject fluentClear() { /* compiled code */ }public java.lang.Object remove(java.lang.Object key) { /* compiled code */ }public com.alibaba.fastjson.JSONObject fluentRemove(java.lang.Object key) { /* compiled code */ }public java.util.Set<java.lang.String> keySet() { /* compiled code */ }public java.util.Collection<java.lang.Object> values() { /* compiled code */ }public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet() { /* compiled code */ }public java.lang.Object clone() { /* compiled code */ }public boolean equals(java.lang.Object obj) { /* compiled code */ }public int hashCode() { /* compiled code */ }public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable { /* compiled code */ }public java.util.Map<java.lang.String,java.lang.Object> getInnerMap() { /* compiled code */ }private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException { /* compiled code */ }public <T> T toJavaObject(java.lang.Class<T> clazz) { /* compiled code */ }public <T> T toJavaObject(java.lang.Class<T> clazz, com.alibaba.fastjson.parser.ParserConfig config, int features) { /* compiled code */ }static class SecureObjectInputStream extends java.io.ObjectInputStream {static java.lang.reflect.Field[] fields;static volatile boolean fields_error;static void ensureFields() { /* compiled code */ }public SecureObjectInputStream(java.io.ObjectInputStream in) throws java.io.IOException { /* compiled code */ }protected java.lang.Class<?> resolveClass(java.io.ObjectStreamClass desc) throws java.io.IOException, java.lang.ClassNotFoundException { /* compiled code */ }protected java.lang.Class<?> resolveProxyClass(java.lang.String[] interfaces) throws java.io.IOException, java.lang.ClassNotFoundException { /* compiled code */ }protected void readStreamHeader() throws java.io.IOException, java.io.StreamCorruptedException { /* compiled code */ }}
}

JSONObjec的作用详解——Web网络系列学习笔记相关推荐

  1. HttpServletResponse和HttpServletRequest详解——Web网络学习笔记

    一.HttpServletRequest HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据.同时,HttpServletRequest接口可以 ...

  2. 详解JSONObject.parseObject和JSONObject.fromObject——Web网络系列学习笔记

    一. 说明 com.alibaba.fastjson.JSONObject是经常会用到的JSON工具包,同样它的转换方法也会经常被我们使用,包括对象转成JSON串,JSON串转成java对象等,如果过 ...

  3. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记

    数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们--帕蒂.道格.苏珊--每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4 ...

  4. 简洁!get请求和post请求的区别——Web网络系列学习笔记

    一次网络交互分为以下三个部分 用户向服务器发送请求 服务器处理请求 服务器向用户返回响应 Get和Post是不同的用户请求方式 Get请求到达服务器后不会修改服务器上的数据, 以CSDN为例,点击查看 ...

  5. Python中json用法【详解】_Python系列学习笔记

    简单来讲,json就是一种特殊的字符串. 1. json简介 定义:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式. 特点:简洁和清晰的 ...

  6. Python_items()方法【详解】——Python系列学习笔记

    描述 Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组. [ (键,值) , (键,值) , (键,值) ] 语法 list = dict.items() 返回值 返回 ...

  7. Python中get()函数用法【详解】——Python系列学习笔记

    get()简介 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. get()方法介绍 dict_n.get(key, default = None) key: 要设置默 ...

  8. Python之range函数【详解】_Python系列学习笔记

    range函数是Python中的内置函数,用于生成一系列连续的整数,一般用于for循环体中. 函数语法 range(start, stop[, step]) 参数说明: start: 计数从 star ...

  9. ip route 命令的作用详解

    ip route 命令的作用详解 route 命令里面的metric是做什么用的 metric Metric 为路由指定所需跃点数的整数值(范围是 1 ~ 9999),它用来在路由表里的多个路由中选择 ...

最新文章

  1. SSL加密包解析的几个概念梳理
  2. python PyQt5 QComboBox类(下拉列表框、组合下拉框)
  3. .NET framework Library
  4. OPENCV回调函数
  5. Maven和Java多版本模块
  6. Thread.Join()方法的理解
  7. 一个模型搞定多个CTR业务!阿里STAR网络介绍(附代码实现)
  8. 在实际工作中,WPS对比office,谁更强?
  9. [转] 测试员,敢问路在何方(来自微软工程师)
  10. MaxScript与外部程序通讯
  11. 最全的iOS开发资源整理
  12. 强大实用的win10任务栏创建分组菜单工具
  13. 小白新建C语言程序(VS2019创建C语言编程环境方法详解)
  14. ROS 应用开发入门 发布者Publisher的编程
  15. 数显之家快讯:「SHIO世硕心语」shio是什么牌子?
  16. 4.5 51单片机-DS18B20温度传感器
  17. 齿轮振动信号的数字滤波处理-含Matlab代码
  18. DBA组件---ADO数据库编程利器
  19. 世界地球日 | 成功解锁首件烤仔时尚单品
  20. mac 上双击终端执行sh文件

热门文章

  1. Python保存最后N个元素
  2. Union-Find 并查集算法详解
  3. 构建DRM系统的重要基石——EME、CDM、AES、CENC和密钥
  4. 火山引擎端云一体化服务:打造面向体验的视频云
  5. 编解码再进化:Ali266与下一代视频技术
  6. Vimeo针对GIF性能和质量的改进
  7. 解析腾讯云音视频通信三大核心网络技术实战与创新
  8. Xilinx+AWS F1+VP9带来30倍实时转码性能提升
  9. Spring/SpingMVC常见问题总结
  10. 腾讯安全平台部专家研究员胡育辉:千亿黑产背后的破局之道