NO1.生成JSON

package my;import java.util.ArrayList;
import java.util.List;import org.json.JSONArray;
import org.json.JSONObject;public class CreateJSON
{//生成JSONObjectpublic static void test1(){JSONObject j1=new JSONObject();j1.put("name", "聪聪");j1.put("id", 2019510001);j1.put("sex", true);j1.put("phone", 1375697812);String jsonstr=j1.toString(2);System.out.println(jsonstr);}//生成JSONArray:元素是字符串public static void test2(){JSONArray j2=new JSONArray();j2.put("chen");j2.put("wang");j2.put("sun");j2.put("jin");String jsonstr=j2.toString(2);System.out.println(jsonstr);}//- 可以直接把一个普通的JAVA对象转成JSONObject (前提是该类的属性有getter和setter)//例如,Student类的所有属性都已经添加了getter和setter,所以可以直接转成JSON对象// POJO -> JSONObject// 如果是POJO对象 ( 已经添加了 getter ),则可以直接转成JSONObjectpublic static void test3(){Student stu = new Student("丽丽", 2019510002, true, "1349687456");JSONObject j = new JSONObject(stu);String jsonstr = j.toString(2); // 缩进2System.out.println(jsonstr);}// List -> JSONArraypublic static void test4(){List<Student> sss = new ArrayList();sss.add(new Student("陈聪聪", 2019510001, true, "13781564977"));sss.add(new Student("朱佳瑜", 2019510002, true, "1351236477"));sss.add(new Student("刘鑫雨",2019510003, false, "13774155575"));sss.add(new Student("高婉婷", 2019510004, true, "13357575757"));JSONArray jarray = new JSONArray();for( Student s : sss){JSONObject j1 = new JSONObject(s);jarray.put( j1 );}String jsonstr = jarray.toString(2); // 缩进2System.out.println(jsonstr);}// List -> JSONArraypublic static void test5(){List<Student> sss = new ArrayList();sss.add(new Student("shao", 1238901, true, "13810012345"));sss.add(new Student("wang", 1238902, true, "13456678895"));sss.add(new Student("qian", 1238903, false, "1381432435"));sss.add(new Student("chen", 1238904, true, "13342353446"));// 直接把ArrayList转成JSON,前提是ArrayList里的元素是可以转化的JSONArray jarray = new JSONArray(sss);String jsonstr = jarray.toString(2); // 缩进2System.out.println(jsonstr);}public static void main(String[] args){test3();}
}

输出结果:

test1

{"phone": 1375697812,"sex": true,"name": "聪聪","id": 2019510001
}

test2

["chen","wang","sun","jin"
]

test3

{"phone": "1349687456","sex": true,"name": "丽丽","id": 2019510002
}

test4

[{"phone": "13781564977","sex": true,"name": "陈聪聪","id": 2019510001},{"phone": "1351236477","sex": true,"name": "朱佳瑜","id": 2019510002},{"phone": "13774155575","sex": false,"name": "刘鑫雨","id": 2019510003},{"phone": "13357575757","sex": true,"name": "高婉婷","id": 2019510004}
]

NO2.解析JSON

package my;import org.json.JSONArray;
import org.json.JSONObject;public class ParseJSON
{// 如果jsonstr是一个Objectpublic static void test1(String jsonstr) throws Exception{JSONObject j = new JSONObject(jsonstr); // 解析jsonstr文本, 转成JSONObjectString name = j.getString("name");int id = j.getInt("id");boolean sex = j.getBoolean("sex");String phone = j.getString("phone");// 还可以复杂类型的字段, 逐层提取即可// JSONObject subobj = j.getJSONObject("xxx");// JSONArray  subarray = j.getJSONArray("yyy");}// 如果jsonstr是一个Arraypublic static void test2(String jsonstr) throws Exception{JSONArray jarray = new JSONArray(jsonstr);for(int i=0; i<jarray.length() ;i ++){JSONObject j1 = jarray.getJSONObject(i);String name = j1.getString("name");int id = j1.getInt("id");boolean sex = j1.getBoolean("sex");String phone = j1.getString("phone");}}public static void main(String[] args){}
}

Student里填入类的属性信息

package my;public class Student
{public String name;public int id;public boolean sex;public String phone;constructors /public Student(){}public Student(String name, int id, boolean sex, String phone){this.name = name;this.id = id;this.sex = sex;this.phone = phone;}// getters and setters //public String getName(){return name;}public void setName(String name){this.name = name;}public int getId(){return id;}public void setId(int id){this.id = id;}public boolean isSex(){return sex;}public void setSex(boolean sex){this.sex = sex;}public String getPhone(){return phone;}public void setPhone(String phone){this.phone = phone;}}

【JSON】04_JSON的生成与解析相关推荐

  1. Qt之JSON生成与解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...

  2. Android Json生成及解析实例

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  3. Restful API 生成复杂Json数据结构及使用客户端解析该数据结构(三)

    前提说明:首先约定接口之前,需要约定接口的参数,接口参数包括输入参数和输出参数 输入参数:指接口调用时输入的参数 输出参数:即接口调用时返回的参数. 那么如果说,约定输入输出参数均需要采用Json结构 ...

  4. GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换

    GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...

  5. 18生成和解析JSON

    18生成和解析JSON 1.什么是JSON?JSON的作用?如何编写JSON? JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ...

  6. JSON(生成和解析)

    一.1. 什么是JSON,JSON的作用是什么,如何编写JSON?   JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.采用完全独立于编 ...

  7. XML与JSON的生成与解析

    1. XML 1.1 XML简介 可标记语言(extensible Markup Language) 特性: XML具有平台无关性,是一门独立的语言 XML具有自我描述性 XML功能: 网络传输文件 ...

  8. 使用JSONObject生成和解析json

    使用JSONObject生成和解析json 1. json数据类型 类型 描述 Number 数字型 String 字符串型 Boolean 布尔型 Array 数组 Object 对象 null 空 ...

  9. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...

    ####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...

最新文章

  1. Spark SQL Catalyst源代码分析之TreeNode Library
  2. zookeeper单机单独实例安装-windows
  3. 不同场景下MySQL的迁移方案
  4. 【折腾】斐讯N1 安装 Docker + GUI
  5. Qt Dialog捕捉鼠标移动事件
  6. 面试题:左旋转字符串
  7. c语言220程序,电赛必备220个C语言实例源码分享
  8. java死锁怎么用jvm调试_性能测试之JVM的故障排查-死锁
  9. 在虚拟机中使用物理硬盘的两个用法及注意事项
  10. 【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线 二分+SPFA
  11. sonar小白式入门
  12. wiringPi (C语言) 控制树莓派引脚
  13. 机器视觉检测技术之颜色视觉工具应用
  14. SEM和SEO的区别?
  15. Kafka集群搭建(四节点)
  16. 1T免费全能空间 注册即可开通
  17. 节奏大师显示服务器,节奏大师上线首日登录困难 服务器拖累腾讯游戏
  18. JavaScript 和 Macromedia Flash 之间的通信示例
  19. day 05 random time sys os pickle json re模块 爬取dytt
  20. YOLO多线程多模型运行模式的实施

热门文章

  1. java可以开发安卓app吗,Java开发者必看
  2. espanso-跨平台文本扩展工具
  3. (C语言)实现基于PHP的某公司自来水收费管理系统
  4. 一个网站的pv代表什么?
  5. 关于树莓派屏幕显示不全的问题
  6. 你知道这一周有哪些程序员好书上了热搜吗?
  7. 1.11——Go语言适合做什么
  8. 解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题
  9. 国家开放大学2021春2405现代汉语(1)题目
  10. k8s学习-污点和容忍(概念、模版、创建、删除)