前提

相关的jar包   https://download.csdn.net/download/qq_37591637/11162911


JSONArray与JSONObject的区别

JSONArray最外面一层是[]   而JSONObject最外面一层是{}

JSONArray与JSONObject的共同点

二者可以添加数组  list集合   map集合、基础数据类型   自定义类型等等


package cn.com.socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class A {
public static void main(String[] args) {
//jsonobject的crudjsonO();
//jsonarray的crudjsonA();
}public static void jsonO(){JSONObject jo=new JSONObject();//基础类型jo.put("str", "JSONArray");jo.put("int", 1);jo.put("double", 2.032);jo.put("boolean", false);//数组 list集合 map集合String [] sz={"sz0","sz1","sz2"};jo.put("sz", sz);User u=new User("username", "tell", "money");jo.put("user", u);List<String> list=new ArrayList<>();list.add("list0");list.add("list1");list.add("list2");list.add("list3");list.add("list4");jo.put("list", list);Map<String, Integer> map=new HashMap<String, Integer>();map.put("map0", 110);map.put("map1", 119);map.put("map2", 120);jo.put("map", map);//1、修改 自定义对象中的tell 为17356896201jo.getJSONObject("user").put("tell", "17356896201");//2、修改list集合里面的list1为l1jo.getJSONArray("list").element(1,"l1");//3、修改map集合中map1的值为555jo.getJSONObject("map").put("map1", 555);//4、修改sz中的sz1为sss1jo.getJSONArray("sz").element(1,"sss1");//5、修改JSONArray为jsyjo.put("str", "jsy");//循环遍历for (Object s : jo.keySet()) {System.out.println(s+"--"+jo.getString((String) s));}System.out.println("------------------------------------------");
}public static void jsonA(){//jsonarray的增删改查JSONArray ja=new JSONArray();ja.add("JSONArray");ja.add(1);ja.add(1.23);ja.add('d');User u=new User("username", "tell", "money");ja.add(u);//4List<String> list=new ArrayList<>();list.add("list0");list.add("list1");list.add("list2");list.add("list3");list.add("list4");ja.add(list);//5Map<String, Integer> map=new HashMap<String, Integer>();map.put("map0", 110);map.put("map1", 119);map.put("map2", 120);ja.add(map);//6String [] sz={"sz0","sz1","sz2"};ja.add(sz);//7//1、修改 自定义对象中的tell 为17356896201ja.getJSONObject(4).put("key", "17356896201");//2、修改list集合里面的list1为l1ja.getJSONArray(5).element(1,"L1");//3、修改map集合中map1的值为555ja.getJSONObject(6).put("map1", 555);//4、修改sz中的sz1为sss1ja.getJSONArray(7).element(1,"sss1");//5、修改JSONArray为jsyja.element(0, "jsy");//循环遍历for (int i = 0; i < ja.size(); i++) {System.out.println(ja.get(i));}System.out.println("------------------------------------------");
}
}

控制台信息如下


总结

json数组添加任何类型的数据都是add();   json对象添加任何类型的数据都是put(key,val)

对于list集合以及数组的获取都是.getJSONArray(index)

对于map集合以及自定义对象的获取都是.getJSONObject(index)

代码如下

package cn.com.tools;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {/*author:命运的信徒* date:2019/5/18*/String str ="[{'otitle':'会','source':'7'},{'otitle':'不会','source':'3'}]";//1.把字符串类型的json数组对象转化JSONArrayJSONArray json=JSONArray.fromObject(str);//2、循环遍历这个数组for(int i=0;i<json.size();i++){//3、把里面的对象转化为JSONObjectJSONObject job = json.getJSONObject(i);   // 4、把里面想要的参数一个个用.属性名的方式获取到System.out.println(job.get("otitle")+":"+job.get("source")) ; }}
}

效果图如下

您的支持是我分享的动力

java JSONArray与JSONObject的增删改查大解析 一篇让你不再迷茫相关推荐

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File; import java.util.ArrayList; import java.util.L ...

  2. java对数据库的增删改查_在java中对数据库进行增删改查

    代码区域: package com.oracle.jdbc.demo1; import java.sql.Connection; import java.sql.DriverManager; impo ...

  3. 数据库实验IDEA编程Java程序实现连接数据库以及增删改查JDBC

    IDEA编程Java程序实现连接数据库以及增删改查JDBC IDEA的mysql环境配置建议参考该博客:戳我 我用的是java11和此博客的配置略有出入,不过一般的问题都可以百度解决 这是我实验用的数 ...

  4. ElasticSearch初体验之使用Java进行最基本的增删改查

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...

  5. java indexof方法_【3-14】Java中集合类list的增删改查

    Hello,大家好,我是大家最亲爱的siki老师,每天都会在这里为大家带来一个Java语法中有趣的知识点,Q群175158287,欢迎同大家多多交流哈! 今天给大家带来的是Java中list类的使用, ...

  6. 双表查询java代码_多表增删改查

    [java]代码库package com.ww.service; import java.lang.reflect.Array; import java.sql.Connection; import ...

  7. Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用

    前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WZY 一.JDBC是什么? Java Data Base Connectivity,java数据库连接, ...

  8. java中容器里的增删改查_Java工程师的第八天——简单的增删改查的应用

    package day08; import java.util.Scanner; /** * * @author sun changxin * 习题:数组完成增删改查(CRUD) 1.字符串类型的数组 ...

  9. Java原始客户端操作Mongodb 增删改查

    Document方式操作增删改查 1.导入Pom依赖 2.java客户端代码 1.导入Pom依赖 <dependency><groupId>org.mongodb</gr ...

最新文章

  1. c++builder Delphi 直接使用剪贴板 Clipboard
  2. hbase 数据库简介安装与常用命令的使用
  3. 功能测试话题分享-0323
  4. SpringMVC-HelloWorld
  5. ANSI和UNICODE字符串处理函数
  6. Android 颜色设置:透明度换算
  7. 广东农信迁移上阿里云:系统建设从按月缩短至按天
  8. mysql备份恢复出错,MySQL-记一次备份失败的排查过程
  9. python字典包含指定键_python-字典中所有值的总和,其中包含键中的项
  10. OUTEROS常用命令
  11. 斐波那契数列【java实现】
  12. Atitit 数据分析存储位置的查找方法与流程attilax总结
  13. Lesson 6: CronTrigger
  14. 锐捷网络2019年秋招售前产品经理面试总结
  15. 怎样开启Win7快速启动栏
  16. Mac OS X:显示/设置分辨率的命令(源程序)
  17. Hi3516A/Hi3516D SDK 安装以及升级使用说明
  18. 生成模型技术发展过程
  19. Linux操作系统 df命令
  20. python解析pdf中文乱码_使用Python第三方库pdfminer提取PDF内容,并解决中文编码不支持的问题...

热门文章

  1. LTI的频域分析matlab,matlab与信号实验连续lti系统的频域分析
  2. 感应开关盖垃圾桶项目实现.md
  3. 经验分享(九)给所有入门程序员的建议(1)--句句是诤言 希望大家认真读完
  4. 腾讯线上培训PPT资料 web安全
  5. Sentinel原理
  6. apache commons math 示例代码
  7. ADC的采样小结——1
  8. html,js 中如何屏蔽div子元素点击事件会触发父元素的点击事件($event.cancelBubble=true;)
  9. 双目立体视觉或成主流?这家厂商2021年出货量已超20万套
  10. 项目中使用 阿里巴巴短信服务